{
  "version": "catalyst.forward-ledger.v1",
  "updatedAt": "2026-07-24T17:56:44.026Z",
  "simulationOnly": true,
  "window": {
    "rule": "Rows are resolved only when the committed receipt contains a completed shadow-ledger evaluation window. Unresolved or incomplete rows remain PENDING.",
    "source": "receipts/cycles/*.json",
    "excludes": "receipts/demo, receipts/replay, seeded fixtures, and Playbook-only backtests",
    "caveat": "This is a simulation-derived shadow-audit ledger from committed receipts, not realized live PnL. Approved and refused decisions are scored identically: signals on the in-sample bars, outcome on the held-out out-of-sample tail with the 2% stop applied, so the discipline comparison is apples to apples. New cron receipts keep extending the record."
  },
  "gitNotary": {
    "type": "git",
    "commit": "291a4867770717230a6e6a39fbec15257b8d56ed",
    "shortCommit": "291a486",
    "committedAt": "2026-06-24T21:51:02Z",
    "subject": "Record Catalyst autonomous cycle",
    "note": "Receipt artifacts are committed to GitHub by the scheduled workflow, creating a public timestamped trail of the proof bundle."
  },
  "totals": {
    "cycles": 668,
    "resolved": 667,
    "pending": 1,
    "approved": 70,
    "approvedPending": 0,
    "vetoed": 406,
    "standDown": 191,
    "vetoedStopCrossings": 227,
    "approvedWinRatePct": 62.8571
  },
  "metrics": {
    "approvedCumulativePnlPct": 34.2317,
    "forcedCounterfactualPnlPct": 7.7078,
    "forcedRawCounterfactualPnlPct": 34.8333,
    "disciplineAlphaPct": 26.5239,
    "vetoedStopCrossRatePct": 55.9113,
    "worstMaxAdversePct": 10.924
  },
  "calibration": {
    "trade": {
      "n": 70,
      "brierScore": 0.2463,
      "bins": [
        {
          "conviction": 0.65,
          "predictedWinPct": 65,
          "observedWinPct": 66.6667,
          "n": 21
        },
        {
          "conviction": 0.68,
          "predictedWinPct": 68,
          "observedWinPct": 40,
          "n": 5
        },
        {
          "conviction": 0.7,
          "predictedWinPct": 70,
          "observedWinPct": 66.6667,
          "n": 6
        },
        {
          "conviction": 0.72,
          "predictedWinPct": 72,
          "observedWinPct": 86.6667,
          "n": 15
        },
        {
          "conviction": 0.75,
          "predictedWinPct": 75,
          "observedWinPct": 47.0588,
          "n": 17
        },
        {
          "conviction": 0.76,
          "predictedWinPct": 76,
          "observedWinPct": 0,
          "n": 1
        },
        {
          "conviction": 0.78,
          "predictedWinPct": 78,
          "observedWinPct": 50,
          "n": 2
        },
        {
          "conviction": 0.8,
          "predictedWinPct": 80,
          "observedWinPct": 100,
          "n": 1
        },
        {
          "conviction": 0.85,
          "predictedWinPct": 85,
          "observedWinPct": 50,
          "n": 2
        }
      ]
    },
    "decision": {
      "n": 476,
      "brierScore": 0.3958,
      "bins": [
        {
          "conviction": 0,
          "predictedWinPct": 0,
          "observedWinPct": 43.4316,
          "n": 373
        },
        {
          "conviction": 0.1,
          "predictedWinPct": 10,
          "observedWinPct": 50,
          "n": 2
        },
        {
          "conviction": 0.15,
          "predictedWinPct": 15,
          "observedWinPct": 33.3333,
          "n": 3
        },
        {
          "conviction": 0.25,
          "predictedWinPct": 25,
          "observedWinPct": 0,
          "n": 1
        },
        {
          "conviction": 0.3,
          "predictedWinPct": 30,
          "observedWinPct": 100,
          "n": 1
        },
        {
          "conviction": 0.4,
          "predictedWinPct": 40,
          "observedWinPct": 0,
          "n": 2
        },
        {
          "conviction": 0.45,
          "predictedWinPct": 45,
          "observedWinPct": 50,
          "n": 2
        },
        {
          "conviction": 0.52,
          "predictedWinPct": 52,
          "observedWinPct": 100,
          "n": 1
        },
        {
          "conviction": 0.55,
          "predictedWinPct": 55,
          "observedWinPct": 0,
          "n": 4
        },
        {
          "conviction": 0.6,
          "predictedWinPct": 60,
          "observedWinPct": 38.4615,
          "n": 13
        },
        {
          "conviction": 0.62,
          "predictedWinPct": 62,
          "observedWinPct": 66.6667,
          "n": 3
        },
        {
          "conviction": 0.65,
          "predictedWinPct": 65,
          "observedWinPct": 63.6364,
          "n": 22
        },
        {
          "conviction": 0.68,
          "predictedWinPct": 68,
          "observedWinPct": 40,
          "n": 5
        },
        {
          "conviction": 0.7,
          "predictedWinPct": 70,
          "observedWinPct": 66.6667,
          "n": 6
        },
        {
          "conviction": 0.72,
          "predictedWinPct": 72,
          "observedWinPct": 86.6667,
          "n": 15
        },
        {
          "conviction": 0.75,
          "predictedWinPct": 75,
          "observedWinPct": 47.0588,
          "n": 17
        },
        {
          "conviction": 0.76,
          "predictedWinPct": 76,
          "observedWinPct": 0,
          "n": 1
        },
        {
          "conviction": 0.78,
          "predictedWinPct": 78,
          "observedWinPct": 50,
          "n": 2
        },
        {
          "conviction": 0.8,
          "predictedWinPct": 80,
          "observedWinPct": 100,
          "n": 1
        },
        {
          "conviction": 0.85,
          "predictedWinPct": 85,
          "observedWinPct": 50,
          "n": 2
        }
      ]
    }
  },
  "headline": "70 approved trades resolved at 62.8571% win; discipline added +26.5239% over 406 refused setups across 668 cycles. Simulation shadow, every decision reconcilable.",
  "rows": [
    {
      "cycleId": "20260724-175644026Z-27925e30fe",
      "file": "receipts/cycles/20260724-175644026Z-27925e30fe.json",
      "ts": "2026-07-24T17:56:44.026Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T17:54:19.766Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 39.88; MACD golden_cross; MA trend mixed; ATR 1.33%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9207,
            "reason": "realized volatility proxy 1.73%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0058%, open interest 774.67K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence requirement of 3 signals is unmet with only one bullish and one bearish reading. Price is range-bound with conflicting short-term momentum and 4h indicators, while derivatives p..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "27925e30fe6aff2b5a3b60a8bcb0b4c0b39c892523a084ff06783f739eeaa588"
    },
    {
      "cycleId": "20260724-175612367Z-fa406ecbd7",
      "file": "receipts/cycles/20260724-175612367Z-fa406ecbd7.json",
      "ts": "2026-07-24T17:56:12.367Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T17:54:19.198Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 36.96; MACD golden_cross; MA trend mixed; ATR 0.97%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9385,
            "reason": "realized volatility proxy 1.34%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.99K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold is not met (1 bullish, 1 bearish vs 3 required). BTC is range-bound with conflicting technicals: a MACD golden cross and RSI near 37 suggest potential accumulation, bu..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "fa406ecbd7edb42b31c62fbed29d3df17ca83e89c1135751087ae8fd7e623311"
    },
    {
      "cycleId": "20260724-175542000Z-245c086b1e",
      "file": "receipts/cycles/20260724-175542000Z-245c086b1e.json",
      "ts": "2026-07-24T17:55:42.000Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1962,
      "counterfactualRawReturnPct": 0.1962,
      "rawDirection": "short",
      "maxAdversePct": 1.2693,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T17:54:52.427Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 30.87; MACD death_cross; MA trend mixed; ATR 1.35%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.929,
            "reason": "realized volatility proxy 1.55%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0005%, open interest 4.96M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technicals show bearish structure (MACD death cross, negative 24h/72h momentum, price below Bollinger band) aligned with a confirmed downtrend, but derivatives sentiment is neutral and the ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "245c086b1e5b90260904b783d73b3115c83ba8d81569aca00436a9f072e62310"
    },
    {
      "cycleId": "20260724-141802060Z-f73275e9d3",
      "file": "receipts/cycles/20260724-141802060Z-f73275e9d3.json",
      "ts": "2026-07-24T14:18:02.060Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1443,
      "rawDirection": "long",
      "maxAdversePct": 4.0759,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T14:15:36.913Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 37.38; MACD golden_cross; MA trend mixed; ATR 1.38%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9182,
            "reason": "realized volatility proxy 1.78%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0027%, open interest 762.69K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed signals in a range-bound regime prevent clear directional convergence. Bearish short-term momentum conflicts with agent-hub mean-reversion readings (MACD golden cross, price near lowe..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f73275e9d324d8a0744a6bc6d10084d2abf4e70db320dfc5b5ef92700c18f4d9"
    },
    {
      "cycleId": "20260724-141719992Z-b47c7968fa",
      "file": "receipts/cycles/20260724-141719992Z-b47c7968fa.json",
      "ts": "2026-07-24T14:17:19.992Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1533,
      "rawDirection": "long",
      "maxAdversePct": 3.9346,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T14:15:36.323Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 34.86; MACD golden_cross; MA trend mixed; ATR 0.99%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9368,
            "reason": "realized volatility proxy 1.38%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0083%, open interest 36.01K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed technical signals with bearish short-term momentum conflicting with a MACD golden cross in a range-bound environment; the required 3-signal convergence threshold is unmet and derivati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b47c7968facb032a932610d2afe17274806183fe05654efb54b311ab8550203a"
    },
    {
      "cycleId": "20260724-141650825Z-dcf78addb3",
      "file": "receipts/cycles/20260724-141650825Z-dcf78addb3.json",
      "ts": "2026-07-24T14:16:50.825Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2151,
      "counterfactualRawReturnPct": 0.2151,
      "rawDirection": "short",
      "maxAdversePct": 0.8521,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T14:16:09.496Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 30.45; MACD death_cross; MA trend mixed; ATR 1.37%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9234,
            "reason": "realized volatility proxy 1.67%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 5.17M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show bearish alignment within a confirmed downtrend (negative momentum, MACD death cross, price below lower BB), but the system's convergence threshold of 3 aligned sig..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "dcf78addb347ba1eaca70c7d0f7e1b9fff8711ae9ad9dfbd488b0363fd4d7cb5"
    },
    {
      "cycleId": "20260724-103126728Z-c06e823965",
      "file": "receipts/cycles/20260724-103126728Z-c06e823965.json",
      "ts": "2026-07-24T10:31:26.728Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1498,
      "counterfactualRawReturnPct": 0.1498,
      "rawDirection": "short",
      "maxAdversePct": 0.437,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T10:29:00.629Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 38.91; MACD death_cross; MA trend mixed; ATR 1.27%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9231,
            "reason": "realized volatility proxy 1.68%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 5.13M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical signals (MACD death cross, negative 24h/72h momentum) are present but fall short of the required 3-signal convergence threshold (only 2 bearish aligned). Price is range-bo..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c06e823965a5b0e74adda42c6ae1a7e6305be464908bbfed2561ee06e66fd3ef"
    },
    {
      "cycleId": "20260724-103048736Z-c33bb92650",
      "file": "receipts/cycles/20260724-103048736Z-c33bb92650.json",
      "ts": "2026-07-24T10:30:48.736Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1164,
      "counterfactualRawReturnPct": 0.1164,
      "rawDirection": "short",
      "maxAdversePct": 0.7247,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T10:29:00.059Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 45.05; MACD golden_cross; MA trend mixed; ATR 1.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9118,
            "reason": "realized volatility proxy 1.92%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0013%, open interest 768.35K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is trading in a range-bound regime with conflicting technical indicators (neutral RSI, MACD golden cross, but negative short-term momentum) and balanced derivatives positioning. The..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c33bb92650099e0b70494706d380e3045384789634529fabf5093f94c4252b41"
    },
    {
      "cycleId": "20260724-103008674Z-a4b4dfadde",
      "file": "receipts/cycles/20260724-103008674Z-a4b4dfadde.json",
      "ts": "2026-07-24T10:30:08.674Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0912,
      "counterfactualRawReturnPct": 0.0912,
      "rawDirection": "short",
      "maxAdversePct": 0.617,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T10:29:32.596Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 45.05; MACD golden_cross; MA trend mixed; ATR 0.89%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9414,
            "reason": "realized volatility proxy 1.28%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0049%, open interest 35.59K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with insufficient signal convergence (1 bearish vs 3 required). Technicals show mixed momentum and neutral RSI, derivatives positioning is balanced, and macro/news cat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a4b4dfadded78406e8dc6f968466aaaaddd232d24718e6a2693e58ba60776f3e"
    },
    {
      "cycleId": "20260724-064326831Z-e7f39c2cac",
      "file": "receipts/cycles/20260724-064326831Z-e7f39c2cac.json",
      "ts": "2026-07-24T06:43:26.831Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1252,
      "counterfactualRawReturnPct": 0.1252,
      "rawDirection": "short",
      "maxAdversePct": 0.6487,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T06:41:22.828Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 40.65; MACD golden_cross; MA trend mixed; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9223,
            "reason": "realized volatility proxy 1.69%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 5.05M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Short-term momentum is mildly bearish, but signals fail to converge (only 1 bearish signal vs the 3 required). Price is range-bound with neutral RSI, mixed moving averages, and balanced der..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e7f39c2cacad7619c68f2fd5e71ae19ff17031dac1faaeccc9a81654e666965b"
    },
    {
      "cycleId": "20260724-064305916Z-1181f1f32c",
      "file": "receipts/cycles/20260724-064305916Z-1181f1f32c.json",
      "ts": "2026-07-24T06:43:05.916Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1086,
      "counterfactualRawReturnPct": 0.1086,
      "rawDirection": "short",
      "maxAdversePct": 0.8628,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T06:41:22.114Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 45.10; MACD golden_cross; MA trend mixed; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9121,
            "reason": "realized volatility proxy 1.92%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0008%, open interest 777.86K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Range-bound regime with only 1 bearish signal and 0 bullish signals, failing the required 3-signal convergence threshold. Technicals are mixed (neutral RSI, conflicting MACD/MA trends, bala..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1181f1f32cde56eb38f81b93525c7d7d9b3131aa829a385f0667615047977a31"
    },
    {
      "cycleId": "20260724-064230829Z-425112f059",
      "file": "receipts/cycles/20260724-064230829Z-425112f059.json",
      "ts": "2026-07-24T06:42:30.829Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0452,
      "rawDirection": "long",
      "maxAdversePct": 2.3573,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T06:41:54.755Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.99; MACD golden_cross; MA trend mixed; ATR 0.86%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9419,
            "reason": "realized volatility proxy 1.27%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0028%, open interest 35.57K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence requirement is unmet (1 bullish signal vs 3 required). BTC is range-bound with conflicting technicals (MACD golden cross offset by neutral RSI and flat short-term momentu..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "425112f059722c9fd0fc37e7cc0aa64422d0ce4ca3ab654dbc0ffddd32645c34"
    },
    {
      "cycleId": "20260724-034920857Z-390b2cc134",
      "file": "receipts/cycles/20260724-034920857Z-390b2cc134.json",
      "ts": "2026-07-24T03:49:20.857Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1328,
      "counterfactualRawReturnPct": 0.1328,
      "rawDirection": "short",
      "maxAdversePct": 0.5586,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T03:47:03.282Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 40.00; MACD golden_cross; MA trend mixed; ATR 1.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9183,
            "reason": "realized volatility proxy 1.78%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0098%, open interest 5M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum shows mild bearish pressure, but market intelligence and derivatives sentiment remain neutral within a ranging regime. Only one of the three required signals aligns, fail..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "390b2cc134a067932f8e95b2fc287936f63ce52b7c840780f1be8a76d79a1679"
    },
    {
      "cycleId": "20260724-034847194Z-4e803c301e",
      "file": "receipts/cycles/20260724-034847194Z-4e803c301e.json",
      "ts": "2026-07-24T03:48:47.194Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1057,
      "counterfactualRawReturnPct": 0.1057,
      "rawDirection": "short",
      "maxAdversePct": 1.3453,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T03:47:02.676Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.03; MACD golden_cross; MA trend mixed; ATR 1.29%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9086,
            "reason": "realized volatility proxy 1.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0010%, open interest 776.48K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is confined to a range regime with only one bearish signal detected, failing to meet the three-signal convergence threshold required for action. Technical indicators are mixed (neut..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4e803c301eeb135f01b4d6e82a02b09eaa1021e6faa7cf0ee019d4288b779b60"
    },
    {
      "cycleId": "20260724-034806459Z-9d3646c046",
      "file": "receipts/cycles/20260724-034806459Z-9d3646c046.json",
      "ts": "2026-07-24T03:48:06.459Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.0209,
      "counterfactualRawReturnPct": -0.0209,
      "rawDirection": "long",
      "maxAdversePct": 1.6535,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-24T03:47:36.102Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.00; MACD golden_cross; MA trend mixed; ATR 0.89%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9397,
            "reason": "realized volatility proxy 1.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0033%, open interest 35.48K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with only 1 bullish signal against the required 3 for convergence. Technicals show neutral momentum and mixed moving averages, while derivatives positioning remains ba..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9d3646c046b408d8ca2023bce9cc2d99106c81662e10097d71846e5a6c968c9e"
    },
    {
      "cycleId": "20260723-213225951Z-a77b4bd626",
      "file": "receipts/cycles/20260723-213225951Z-a77b4bd626.json",
      "ts": "2026-07-23T21:32:25.951Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0929,
      "counterfactualRawReturnPct": 0.0929,
      "rawDirection": "short",
      "maxAdversePct": 1.3444,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T21:30:03.852Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 41.67; MACD golden_cross; MA trend mixed; ATR 1.31%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9185,
            "reason": "realized volatility proxy 1.78%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 4.79M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the convergence threshold (1 bearish signal vs 3 required). Price is range-bound with mixed technicals: RSI is neutral at 41.67, MACD shows a golden cross, and moving a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a77b4bd6263c63eaad3f56cad834864e60ab5029e666873c2d93bc054796b5eb"
    },
    {
      "cycleId": "20260723-213151635Z-d8e222d58f",
      "file": "receipts/cycles/20260723-213151635Z-d8e222d58f.json",
      "ts": "2026-07-23T21:31:51.635Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.046,
      "rawDirection": "short",
      "maxAdversePct": 2.7256,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T21:30:02.705Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 43.18; MACD golden_cross; MA trend mixed; ATR 1.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9079,
            "reason": "realized volatility proxy 2.01%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0001%, open interest 784.81K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is range-bound with mixed technicals and balanced derivatives. Downside momentum (-2.86% 24h) hasn't met the 3-signal convergence threshold for a short, while RSI (43) and a MACD go..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d8e222d58fd4e0c6d2145ed70e33a8591812fae774b70c365fda3b863fe1cde3"
    },
    {
      "cycleId": "20260723-213116387Z-672374d586",
      "file": "receipts/cycles/20260723-213116387Z-672374d586.json",
      "ts": "2026-07-23T21:31:16.387Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0087,
      "rawDirection": "short",
      "maxAdversePct": 2.6068,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T21:30:35.700Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 46.07; MACD golden_cross; MA trend mixed; ATR 0.88%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9398,
            "reason": "realized volatility proxy 1.31%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.62K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is range-bound with mixed technicals and balanced derivatives positioning. The required convergence threshold of 3 aligned signals is not met (only 1 bearish signal present), indica..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "672374d586568c3066780dc11e7263d1913128e5d6b4aafd968d7edcfc0c27ce"
    },
    {
      "cycleId": "20260723-175113128Z-7aafd1c18b",
      "file": "receipts/cycles/20260723-175113128Z-7aafd1c18b.json",
      "ts": "2026-07-23T17:51:13.128Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.085,
      "counterfactualRawReturnPct": 0.085,
      "rawDirection": "short",
      "maxAdversePct": 1.6121,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T17:48:56.790Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 40.45; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9215,
            "reason": "realized volatility proxy 1.71%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0057%, open interest 4.78M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and qualitative signals fail to converge: only 1 bearish signal detected versus the required 3, with neutral RSI/MACD, negative short-term momentum, balanced derivatives positioni..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7aafd1c18b98c4238ed92c072f9b0b7d60b0c87859c4c7ef0fef3f344ad4f3c0"
    },
    {
      "cycleId": "20260723-175032839Z-bca05c7d07",
      "file": "receipts/cycles/20260723-175032839Z-bca05c7d07.json",
      "ts": "2026-07-23T17:50:32.839Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0187,
      "rawDirection": "short",
      "maxAdversePct": 3.0596,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T17:48:56.103Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 44.24; MACD golden_cross; MA trend mixed; ATR 1.28%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9114,
            "reason": "realized volatility proxy 1.93%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0033%, open interest 800.66K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the 3-count convergence threshold. ETHUSDT is range-bound near 1888 with mixed technicals (bearish short-term momentum offset by a MACD golden cross and neutral RSI). D..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bca05c7d07bfd2b0b53633f51bc84160c87dc18eed28683643cf63626b908deb"
    },
    {
      "cycleId": "20260723-174958378Z-ef225054f5",
      "file": "receipts/cycles/20260723-174958378Z-ef225054f5.json",
      "ts": "2026-07-23T17:49:58.378Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0172,
      "rawDirection": "short",
      "maxAdversePct": 2.7828,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T17:49:28.671Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.13; MACD golden_cross; MA trend mixed; ATR 0.90%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9418,
            "reason": "realized volatility proxy 1.27%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 36.01K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with insufficient signal convergence for trade execution. Only one bearish signal is present against the three required, while remaining technical and sentiment reads ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ef225054f59813466420f6a02f695c0715048b3cebd1d09ef92625033980c388"
    },
    {
      "cycleId": "20260723-143725824Z-29cf492483",
      "file": "receipts/cycles/20260723-143725824Z-29cf492483.json",
      "ts": "2026-07-23T14:37:25.824Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0515,
      "counterfactualRawReturnPct": 0.0515,
      "rawDirection": "short",
      "maxAdversePct": 1.5689,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T14:35:09.876Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 44.90; MACD golden_cross; MA trend mixed; ATR 1.29%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9209,
            "reason": "realized volatility proxy 1.73%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 4.56M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is trading in a defined range with conflicting technical signals. Short-term momentum is slightly negative, but the MACD golden cross, neutral RSI (44.9), and mixed moving averages ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "29cf49248309e6ddbdf6c967213c36c596217708a28f477a91e385e7f848a21c"
    },
    {
      "cycleId": "20260723-143648521Z-92afd50af4",
      "file": "receipts/cycles/20260723-143648521Z-92afd50af4.json",
      "ts": "2026-07-23T14:36:48.521Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0045,
      "rawDirection": "short",
      "maxAdversePct": 3.0119,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T14:35:09.173Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 47.90; MACD golden_cross; MA trend mixed; ATR 1.28%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.911,
            "reason": "realized volatility proxy 1.94%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0013%, open interest 789.52K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence is insufficient with only one bearish technical read against neutral market intel, mixed Agent Hub indicators, and balanced derivatives sentiment. Price is trapped in a r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "92afd50af421934ba4168057d2f4a81aed327b57b5c32f7d8927808dde6aab8a"
    },
    {
      "cycleId": "20260723-143612264Z-9243a7f6a7",
      "file": "receipts/cycles/20260723-143612264Z-9243a7f6a7.json",
      "ts": "2026-07-23T14:36:12.264Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0264,
      "rawDirection": "short",
      "maxAdversePct": 2.2272,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T14:35:41.971Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 44.33; MACD golden_cross; MA trend mixed; ATR 0.93%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9398,
            "reason": "realized volatility proxy 1.31%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0086%, open interest 35.64K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC remains range-bound with conflicting signals: short-term momentum is negative while the MACD shows a golden cross and RSI sits neutral at 44.33. Derivatives positioning is balanced and ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9243a7f6a70e711f134775c6dc519b93b2785f79fab24e73ca3a38b820faf4fc"
    },
    {
      "cycleId": "20260723-103756374Z-0a0204d2c5",
      "file": "receipts/cycles/20260723-103756374Z-0a0204d2c5.json",
      "ts": "2026-07-23T10:37:56.374Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T10:35:34.047Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 53.67; MACD golden_cross; MA trend bull; ATR 1.24%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9226,
            "reason": "realized volatility proxy 1.69%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0019%, open interest 4.53M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is trapped in a low-momentum range with balanced derivatives positioning. Despite internally bullish indicator alignments (MACD cross, MA trend), broader momentum and market-intel s..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0a0204d2c5394ab958309becf0c6a8411161742b7d0505c57c6f31784428525a"
    },
    {
      "cycleId": "20260723-103719009Z-1720779527",
      "file": "receipts/cycles/20260723-103719009Z-1720779527.json",
      "ts": "2026-07-23T10:37:19.009Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T10:35:33.255Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 57.83; MACD golden_cross; MA trend bull; ATR 1.23%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9167,
            "reason": "realized volatility proxy 1.82%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0016%, open interest 783.19K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence metrics show zero confirmed directional signals despite a structurally bullish Agent Hub TA snapshot. Market regime is range-bound with flat momentum, unclear volatility context..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1720779527d19605123e7a59e444f4ac0fb0b1b5c158a2ae11d28fe0f913ba58"
    },
    {
      "cycleId": "20260723-103641543Z-5c949a8d9e",
      "file": "receipts/cycles/20260723-103641543Z-5c949a8d9e.json",
      "ts": "2026-07-23T10:36:41.543Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0678,
      "counterfactualRawReturnPct": 0.0678,
      "rawDirection": "long",
      "maxAdversePct": 0.8915,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T10:36:06.187Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.35; MACD golden_cross; MA trend mixed; ATR 0.90%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9421,
            "reason": "realized volatility proxy 1.26%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0020%, open interest 35.57K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence is insufficient for entry; only one bullish technical indicator is active while the broader context remains range-bound. Derivatives sentiment is neutral with balanced fu..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5c949a8d9e36e595d92518bcec13162ba8be7bda1a40b1f9a6ec9f9f61f4dc32"
    },
    {
      "cycleId": "20260723-064334775Z-26d2c7fb64",
      "file": "receipts/cycles/20260723-064334775Z-26d2c7fb64.json",
      "ts": "2026-07-23T06:43:34.775Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0.1,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0725,
      "counterfactualRawReturnPct": 0.0725,
      "rawDirection": "long",
      "maxAdversePct": 0.4783,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T06:41:21.392Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.76; MACD golden_cross; MA trend mixed; ATR 1.24%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9257,
            "reason": "realized volatility proxy 1.62%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0025%, open interest 4.48M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.1,
            "reason": "Price is consolidating in a range-bound regime with low momentum and balanced derivatives positioning. Only a single technical indicator shows bullish bias, failing the mandatory 3-signal c..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "26d2c7fb64f408aba1a0770352a34c93874539a504508bc9360a7b9a8fe93f8a"
    },
    {
      "cycleId": "20260723-064251957Z-a1cd9a2fe2",
      "file": "receipts/cycles/20260723-064251957Z-a1cd9a2fe2.json",
      "ts": "2026-07-23T06:42:51.957Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1392,
      "counterfactualRawReturnPct": 0.1392,
      "rawDirection": "long",
      "maxAdversePct": 0.3807,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T06:41:20.685Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.92; MACD golden_cross; MA trend mixed; ATR 1.23%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.919,
            "reason": "realized volatility proxy 1.77%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0008%, open interest 768.56K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish vs 3 required). Price is consolidating in a defined range with balanced derivatives positioning and unclear macro context. While a 4h MACD golden cr..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a1cd9a2fe2592026658fefa23821484d2474a07a64bdf13b251b17942971511a"
    },
    {
      "cycleId": "20260723-064220816Z-4299afeb03",
      "file": "receipts/cycles/20260723-064220816Z-4299afeb03.json",
      "ts": "2026-07-23T06:42:20.816Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1059,
      "counterfactualRawReturnPct": 0.1059,
      "rawDirection": "long",
      "maxAdversePct": 0.0756,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T06:41:53.260Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.45; MACD golden_cross; MA trend mixed; ATR 0.90%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.944,
            "reason": "realized volatility proxy 1.22%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0019%, open interest 35.29K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is not met with only 1 bullish indicator against the required 3. BTC remains in a ranging regime with neutral momentum, mixed moving averages, and balanced deri..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4299afeb031c4e63529e25661fc6ae614b2480954edd16aa6d692196dac7783b"
    },
    {
      "cycleId": "20260723-035021273Z-66da80e84a",
      "file": "receipts/cycles/20260723-035021273Z-66da80e84a.json",
      "ts": "2026-07-23T03:50:21.273Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0914,
      "counterfactualRawReturnPct": 0.0914,
      "rawDirection": "long",
      "maxAdversePct": 0.5562,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T03:48:11.667Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.87; MACD golden_cross; MA trend mixed; ATR 1.29%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9239,
            "reason": "realized volatility proxy 1.66%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0028%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails the required threshold with only 1 bullish signal against 3 required. Price remains choppy in a range-bound regime, derivatives positioning is balanced, and broader..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "66da80e84a447e48bf26b011fc4d94ad9cec5be74f32f067539a913e8e90ba25"
    },
    {
      "cycleId": "20260723-034953324Z-53518c32b0",
      "file": "receipts/cycles/20260723-034953324Z-53518c32b0.json",
      "ts": "2026-07-23T03:49:53.324Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T03:48:10.353Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.51; MACD golden_cross; MA trend mixed; ATR 0.94%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9426,
            "reason": "realized volatility proxy 1.25%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0004%, open interest 35.27K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence is unmet with only one bullish and one bearish technical reading against the required threshold of three. Price is range-bound with balanced derivatives positioning, near..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "53518c32b0ec4c41fc390b2ec17420c1c7e56c56d0dc4e57553e549c97c42608"
    },
    {
      "cycleId": "20260723-034920666Z-c7c6f7f862",
      "file": "receipts/cycles/20260723-034920666Z-c7c6f7f862.json",
      "ts": "2026-07-23T03:49:20.666Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1447,
      "counterfactualRawReturnPct": 0.1447,
      "rawDirection": "long",
      "maxAdversePct": 0.6956,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-23T03:48:43.612Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.22; MACD golden_cross; MA trend mixed; ATR 1.28%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9186,
            "reason": "realized volatility proxy 1.78%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0005%, open interest 765.65K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bullish signal vs required 3). Range-bound regime, balanced derivatives positioning, and mixed technicals (MACD cross offset by neutral RSI at 56.22 and mixed..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c7c6f7f862a017ad8124f75a882569088deb40bdc52aafd6b6a754eb8a3feb2f"
    },
    {
      "cycleId": "20260722-213334978Z-8f0d4160c6",
      "file": "receipts/cycles/20260722-213334978Z-8f0d4160c6.json",
      "ts": "2026-07-22T21:33:34.978Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.076,
      "counterfactualRawReturnPct": 0.076,
      "rawDirection": "long",
      "maxAdversePct": 1.1594,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T21:31:09.458Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.80; MACD golden_cross; MA trend mixed; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.922,
            "reason": "realized volatility proxy 1.70%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0007%, open interest 4.34M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails the required threshold (1 of 3). SOLUSDT is trapped in a range-bound regime with neutral momentum and balanced derivatives positioning. While MACD shows a recent go..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8f0d4160c659c75af78b62e49478690ab3654b819422ec1b46379e198d3c0e3a"
    },
    {
      "cycleId": "20260722-213259022Z-46cde14abe",
      "file": "receipts/cycles/20260722-213259022Z-46cde14abe.json",
      "ts": "2026-07-22T21:32:59.022Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T21:31:08.846Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 59.65; MACD golden_cross; MA trend bull; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9142,
            "reason": "realized volatility proxy 1.87%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0028%, open interest 765.7K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Despite a 4h technical setup showing MACD golden cross and bullish MA alignment, overall signal convergence remains neutral with zero confirmed directional counts. The market is range-bound..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "46cde14abe61f36064131fdbcac1e4b7b89b35e1dc39641203f7396a6ad289c4"
    },
    {
      "cycleId": "20260722-213219009Z-3cf96c4340",
      "file": "receipts/cycles/20260722-213219009Z-3cf96c4340.json",
      "ts": "2026-07-22T21:32:19.009Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0735,
      "counterfactualRawReturnPct": 0.0735,
      "rawDirection": "long",
      "maxAdversePct": 1.5003,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T21:31:41.426Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.90; MACD golden_cross; MA trend mixed; ATR 0.91%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9388,
            "reason": "realized volatility proxy 1.34%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0013%, open interest 35.35K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 of 3 required signals). While 4h Agent Hub TA shows mild bullish momentum via a MACD golden cross and RSI at 56.9, the broader market regime is firmly ranging..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3cf96c43404800028e9028daa7c258c91f6f2c2b018b9308187b51dd3f50e907"
    },
    {
      "cycleId": "20260722-174511675Z-f7dbd570b5",
      "file": "receipts/cycles/20260722-174511675Z-f7dbd570b5.json",
      "ts": "2026-07-22T17:45:11.675Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1338,
      "counterfactualRawReturnPct": 0.1338,
      "rawDirection": "long",
      "maxAdversePct": 0.5156,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T17:43:05.419Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 61.20; MACD golden_cross; MA trend mixed; ATR 1.23%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9251,
            "reason": "realized volatility proxy 1.63%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0070%, open interest 4.52M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technicals (MACD golden cross, RSI 61.20) and trend confirmation are present but fall short of the 3-signal convergence threshold required to trigger a position. Derivatives sentime..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f7dbd570b5aeda2161a2c89e4fb322faffa010367d493501b25c8f7373f3e359"
    },
    {
      "cycleId": "20260722-174444233Z-7dfb5f5ba9",
      "file": "receipts/cycles/20260722-174444233Z-7dfb5f5ba9.json",
      "ts": "2026-07-22T17:44:44.233Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1044,
      "counterfactualRawReturnPct": 0.1044,
      "rawDirection": "long",
      "maxAdversePct": 1.0986,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T17:43:03.883Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 60.02; MACD golden_cross; MA trend mixed; ATR 0.93%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9361,
            "reason": "realized volatility proxy 1.39%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0008%, open interest 35.63K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold is not met (1 bullish signal vs 3 required). Price is consolidating in a range regime with mixed momentum, balanced funding rates, and conflicting technical indicators..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7dfb5f5ba962db3d90419f2ed33f91d2d8b27a9ec5b1b965860b9d474b401556"
    },
    {
      "cycleId": "20260722-174416760Z-15479abbff",
      "file": "receipts/cycles/20260722-174416760Z-15479abbff.json",
      "ts": "2026-07-22T17:44:16.760Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1734,
      "counterfactualRawReturnPct": 0.1734,
      "rawDirection": "long",
      "maxAdversePct": 1.0594,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T17:43:37.774Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 67.11; MACD golden_cross; MA trend bull; ATR 1.26%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9154,
            "reason": "realized volatility proxy 1.85%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0023%, open interest 765.26K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum and moving averages are bullish, but signal convergence falls short of the required threshold (2 of 3). Combined with a ranging regime, balanced derivatives positioning, ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "15479abbff02b8540c0e13ab9717cf11e748144ae4ba43d85ea0001f77f86f38"
    },
    {
      "cycleId": "20260722-142902910Z-f76b2effc7",
      "file": "receipts/cycles/20260722-142902910Z-f76b2effc7.json",
      "ts": "2026-07-22T14:29:02.910Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T14:26:40.516Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 63.38; MACD golden_cross; MA trend bull; ATR 1.28%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8981,
            "reason": "realized volatility proxy 2.22%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0032%, open interest 761.02K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT remains range-bound with neutral momentum and balanced derivatives positioning. While internal technicals note a MACD golden cross and bullish MA alignment, broader signal convergen..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f76b2effc7dd7b00c3e409edac367699e0eeceae3ba54bd2b7d0a7168c992721"
    },
    {
      "cycleId": "20260722-142820795Z-2dc89c353b",
      "file": "receipts/cycles/20260722-142820795Z-2dc89c353b.json",
      "ts": "2026-07-22T14:28:20.795Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T14:26:39.699Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.95; MACD golden_cross; MA trend mixed; ATR 0.96%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9142,
            "reason": "realized volatility proxy 1.87%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0049%, open interest 35.55K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack directional convergence: only 1 bullish and 1 bearish technical input are present, falling short of the 3-signal alignment threshold. The asset is trading in a defined range re..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2dc89c353bd2af1a2ea785b78686028ffa22a5e8f6fe2da8a35e05a8e5bd0ba3"
    },
    {
      "cycleId": "20260722-142747522Z-890ef4bfcf",
      "file": "receipts/cycles/20260722-142747522Z-890ef4bfcf.json",
      "ts": "2026-07-22T14:27:47.522Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0926,
      "counterfactualRawReturnPct": 0.0926,
      "rawDirection": "long",
      "maxAdversePct": 0.738,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T14:27:13.485Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.57; MACD golden_cross; MA trend mixed; ATR 1.23%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9009,
            "reason": "realized volatility proxy 2.16%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0091%, open interest 4.64M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 of 3 required signals). SOL remains range-bound with mixed technicals (bullish MACD cross offset by neutral RSI and MA trends) and balanced derivatives positi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "890ef4bfcf8d1b01ee70d896f98eb6b854875e97edfc56e6d8cad65541ffccd7"
    },
    {
      "cycleId": "20260722-103709226Z-23d737d85f",
      "file": "receipts/cycles/20260722-103709226Z-23d737d85f.json",
      "ts": "2026-07-22T10:37:09.226Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T10:34:58.800Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.53; MACD golden_cross; MA trend mixed; ATR 1.17%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8968,
            "reason": "realized volatility proxy 2.25%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0084%, open interest 4.72M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals conflict with only two valid convergence counts against the required three. Short-term bearish momentum clashes with a 4h MACD golden cross, while balanced derivatives pos..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "23d737d85fed19601db70754f78f39247e9fbe7f511765fdc498e961440ca858"
    },
    {
      "cycleId": "20260722-103640208Z-526f6ee5c4",
      "file": "receipts/cycles/20260722-103640208Z-526f6ee5c4.json",
      "ts": "2026-07-22T10:36:40.208Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T10:34:58.032Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 62.86; MACD golden_cross; MA trend bull; ATR 1.19%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8921,
            "reason": "realized volatility proxy 2.35%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0040%, open interest 771.72K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators are neutral with mixed short-term momentum, and derivatives positioning shows balanced funding and open interest. With zero converging directional signals in a range-bo..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "526f6ee5c4c83797e17e66abc60cbe70bc3911fd86fc4812ed653bda68032e9e"
    },
    {
      "cycleId": "20260722-103605464Z-8363bafffb",
      "file": "receipts/cycles/20260722-103605464Z-8363bafffb.json",
      "ts": "2026-07-22T10:36:05.464Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0943,
      "counterfactualRawReturnPct": 0.0943,
      "rawDirection": "long",
      "maxAdversePct": 1.0753,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T10:35:30.893Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 58.03; MACD golden_cross; MA trend mixed; ATR 0.95%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9091,
            "reason": "realized volatility proxy 1.98%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0045%, open interest 35.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail the required convergence threshold (1 bullish vs 3 needed). Technical context is mixed with a MACD golden cross offset by neutral RSI, mixed moving averages, and a range-bound ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8363bafffb63e31d156b9a55971a5d26d6ef8d3e45f21358d319ff70f6e90d4a"
    },
    {
      "cycleId": "20260722-064559247Z-19b19513b2",
      "file": "receipts/cycles/20260722-064559247Z-19b19513b2.json",
      "ts": "2026-07-22T06:45:59.247Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T06:43:40.306Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.58; MACD golden_cross; MA trend mixed; ATR 1.21%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8941,
            "reason": "realized volatility proxy 2.31%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0065%, open interest 4.69M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with divergent technicals: agent hub flags a bullish MACD cross while 24h candle momentum is negative. Derivatives positioning is balanced with neutral funding. The re..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "19b19513b2fcf2573f855e1f4f89a41b811597188865684cad5633c30d657dba"
    },
    {
      "cycleId": "20260722-064522579Z-011c3f51df",
      "file": "receipts/cycles/20260722-064522579Z-011c3f51df.json",
      "ts": "2026-07-22T06:45:22.579Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T06:43:39.739Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 60.03; MACD golden_cross; MA trend mixed; ATR 1.22%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8899,
            "reason": "realized volatility proxy 2.40%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0007%, open interest 784.5K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails the required threshold (1 bullish, 1 bearish vs 3 needed). The asset is trading in a range regime with conflicting momentum readings and neutral derivatives positio..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "011c3f51df0d85d7c70a7ef7b99d61d7440bf2612436fc1d9313b4b6a9ccd9fb"
    },
    {
      "cycleId": "20260722-064446637Z-2ac4e99381",
      "file": "receipts/cycles/20260722-064446637Z-2ac4e99381.json",
      "ts": "2026-07-22T06:44:46.637Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0762,
      "counterfactualRawReturnPct": 0.0762,
      "rawDirection": "long",
      "maxAdversePct": 1.4729,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T06:44:12.601Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 58.12; MACD golden_cross; MA trend mixed; ATR 0.97%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9071,
            "reason": "realized volatility proxy 2.03%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0006%, open interest 35.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with neutral momentum and balanced derivatives positioning. Only one bullish technical signal is active, falling short of the three required for convergence. Catalyst ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2ac4e993818723867dfcef4cd71dcd0f4e5f79e09d56749497e49e66b47be68f"
    },
    {
      "cycleId": "20260722-035240362Z-912d88c594",
      "file": "receipts/cycles/20260722-035240362Z-912d88c594.json",
      "ts": "2026-07-22T03:52:40.362Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1115,
      "counterfactualRawReturnPct": 0.1115,
      "rawDirection": "long",
      "maxAdversePct": 0.8139,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T03:50:15.560Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 62.02; MACD golden_cross; MA trend mixed; ATR 1.15%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8945,
            "reason": "realized volatility proxy 2.30%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0076%, open interest 4.6M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish signal vs 3 required). SOL/USDT remains range-bound at ~78.05 with neutral short-term momentum, balanced derivatives positioning, and mixed moving a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "912d88c5943bec95461200eae8394086c604b8646d107765579c56da22b17701"
    },
    {
      "cycleId": "20260722-035205743Z-1f4700157f",
      "file": "receipts/cycles/20260722-035205743Z-1f4700157f.json",
      "ts": "2026-07-22T03:52:05.743Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1407,
      "counterfactualRawReturnPct": 0.1407,
      "rawDirection": "long",
      "maxAdversePct": 1.3931,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T03:50:14.857Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 68.25; MACD golden_cross; MA trend bull; ATR 1.20%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8895,
            "reason": "realized volatility proxy 2.41%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0035%, open interest 773.31K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Despite bullish technicals (MACD golden cross, price above key MAs), signal convergence fails: only 1 of the 3 required aligned signals is present. Macro and news catalysts are absent, deri..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1f4700157fd66393d3264593cf68744b9f00de78a2a251950483156e3e4531a1"
    },
    {
      "cycleId": "20260722-035131407Z-0c04c5e8e9",
      "file": "receipts/cycles/20260722-035131407Z-0c04c5e8e9.json",
      "ts": "2026-07-22T03:51:31.407Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0996,
      "counterfactualRawReturnPct": 0.0996,
      "rawDirection": "long",
      "maxAdversePct": 1.4833,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-22T03:50:48.075Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 63.80; MACD golden_cross; MA trend bull; ATR 0.97%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9049,
            "reason": "realized volatility proxy 2.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0001%, open interest 35.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum leans bullish with a MACD golden cross, but convergence thresholds are unmet (1 of 3 required bullish signals). The asset trades in a range-bound regime with unclear mark..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0c04c5e8e9916f58a247bd76018f51890300a1a1678e6af50d261048c39b7c51"
    },
    {
      "cycleId": "20260721-213713472Z-406899dceb",
      "file": "receipts/cycles/20260721-213713472Z-406899dceb.json",
      "ts": "2026-07-21T21:37:13.472Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1352,
      "counterfactualRawReturnPct": 0.1352,
      "rawDirection": "long",
      "maxAdversePct": 0.208,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T21:34:46.976Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 62.04; MACD golden_cross; MA trend mixed; ATR 1.17%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8913,
            "reason": "realized volatility proxy 2.37%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0054%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bullish vs 3 required) within a confirmed ranging regime. Despite a 4h MACD golden cross, broader momentum is weak, market intel is unclear, and derivatives p..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "406899dceb14cd13a78350d03fe1e44a88b176dd60750540401ffbc0ba979b3c"
    },
    {
      "cycleId": "20260721-213638586Z-54c21fabda",
      "file": "receipts/cycles/20260721-213638586Z-54c21fabda.json",
      "ts": "2026-07-21T21:36:38.586Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1344,
      "counterfactualRawReturnPct": 0.1344,
      "rawDirection": "long",
      "maxAdversePct": 1.0838,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T21:34:46.414Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 65.65; MACD golden_cross; MA trend mixed; ATR 1.19%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8905,
            "reason": "realized volatility proxy 2.39%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0043%, open interest 769.09K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only one bullish technical signal is present, failing the required 3-signal convergence threshold. Market regime is range-bound, RSI is neutral at 65.65, derivative positioning is balanced,..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "54c21fabdaf023a1fdb42accbcef719d71183a26267f035b684a65def50c31f2"
    },
    {
      "cycleId": "20260721-213558313Z-fc78fb8b47",
      "file": "receipts/cycles/20260721-213558313Z-fc78fb8b47.json",
      "ts": "2026-07-21T21:35:58.313Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0919,
      "counterfactualRawReturnPct": 0.0919,
      "rawDirection": "long",
      "maxAdversePct": 1.6417,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T21:35:19.028Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 64.41; MACD golden_cross; MA trend bull; ATR 0.96%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9049,
            "reason": "realized volatility proxy 2.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0025%, open interest 35.11K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum is bullish with a MACD golden cross, but the market remains range-bound with neutral derivatives positioning and only 1 of 3 required convergence signals. Lack of macro c..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "fc78fb8b47400358531a1521596930cab3d0c7ecc66f6c6d9330a29c347a8313"
    },
    {
      "cycleId": "20260721-175012517Z-a68334663f",
      "file": "receipts/cycles/20260721-175012517Z-a68334663f.json",
      "ts": "2026-07-21T17:50:12.517Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1185,
      "counterfactualRawReturnPct": 0.1185,
      "rawDirection": "long",
      "maxAdversePct": 0.1419,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T17:47:39.954Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.74; MACD golden_cross; MA trend mixed; ATR 1.23%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8887,
            "reason": "realized volatility proxy 2.43%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0014%, open interest 4.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Despite an isolated bullish technical reading (MACD golden cross, RSI 57.74), the setup fails the mandatory convergence threshold with only 1 of 3 required bullish signals confirmed. The as..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a68334663fc0bb5b3db56dd6be231177e06b086cb47773045206764597f7378f"
    },
    {
      "cycleId": "20260721-174930163Z-d513dc32d3",
      "file": "receipts/cycles/20260721-174930163Z-d513dc32d3.json",
      "ts": "2026-07-21T17:49:30.163Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1041,
      "counterfactualRawReturnPct": 0.1041,
      "rawDirection": "long",
      "maxAdversePct": 1.2255,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T17:47:38.268Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 63.59; MACD golden_cross; MA trend bull; ATR 1.01%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9048,
            "reason": "realized volatility proxy 2.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0121%, open interest 35.38K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is range-bound with insufficient signal convergence; only 1 of the 3 required bullish triggers is active. Despite positive short-term momentum and a MACD golden cross, derivatives p..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d513dc32d379ea3e9d728846bfd415561c4fa2e5b3b662fdf3b73dad1c8dff30"
    },
    {
      "cycleId": "20260721-174845918Z-6b3344b774",
      "file": "receipts/cycles/20260721-174845918Z-6b3344b774.json",
      "ts": "2026-07-21T17:48:45.918Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1302,
      "counterfactualRawReturnPct": 0.1302,
      "rawDirection": "long",
      "maxAdversePct": 0.8565,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T17:48:12.259Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 62.98; MACD golden_cross; MA trend mixed; ATR 1.26%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8892,
            "reason": "realized volatility proxy 2.42%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0053%, open interest 775.37K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is trading in a range with neutral derivatives positioning and absent macro/news catalysts. Only 2 of the 3 required convergent signals are present (both technical), failing the str..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6b3344b774ae6a1a5cc05a14455c6cef0846a6ce012310089c1161d29a3ee740"
    },
    {
      "cycleId": "20260721-142819168Z-ee33f0a2bf",
      "file": "receipts/cycles/20260721-142819168Z-ee33f0a2bf.json",
      "ts": "2026-07-21T14:28:19.168Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1571,
      "counterfactualRawReturnPct": 0.1571,
      "rawDirection": "long",
      "maxAdversePct": 0.1477,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T14:25:59.200Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 63.84; MACD golden_cross; MA trend mixed; ATR 1.21%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8909,
            "reason": "realized volatility proxy 2.38%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0007%, open interest 4.53M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (2 bullish signals vs 3 required). Price is range-bound at 78.08 with a MACD golden cross and RSI 63.84, but 24h/72h momentum is neutral, MA trend is mixed, an..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ee33f0a2bf0e5d8ab742d9e0df02ac90865ca83f8fbb097c9ca60a98955f467d"
    },
    {
      "cycleId": "20260721-142740363Z-d0f5b3bdca",
      "file": "receipts/cycles/20260721-142740363Z-d0f5b3bdca.json",
      "ts": "2026-07-21T14:27:40.363Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1485,
      "counterfactualRawReturnPct": 0.1485,
      "rawDirection": "long",
      "maxAdversePct": 0.8475,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T14:25:57.414Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 70.44; MACD golden_cross; MA trend bull; ATR 1.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9068,
            "reason": "realized volatility proxy 2.03%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0092%, open interest 35.34K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum shows bullish structure (MACD golden cross, MA alignment), but price is confined to a range regime with overbought RSI (70.44) and neutral derivatives positioning. The sy..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d0f5b3bdca0a1e9d0b804eb173680c53df2f8ffe657f7e6d1f2e932ccbcae36d"
    },
    {
      "cycleId": "20260721-142714498Z-19a18cb081",
      "file": "receipts/cycles/20260721-142714498Z-19a18cb081.json",
      "ts": "2026-07-21T14:27:14.498Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.5388,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.1929,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T14:26:31.271Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 69.45; MACD golden_cross; MA trend bull; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8898,
            "reason": "realized volatility proxy 2.40%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0032%, open interest 772.06K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Uptrend regime is confirmed with positive 24h/72h momentum and a 4h MACD golden cross. Moving averages align bullishly and the technical verdict is strongly bullish, satisfying the 3-signal..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "19a18cb08102b8d351c890416a6472ba16671d7cb45f2343a850cb9ec7c5dd70"
    },
    {
      "cycleId": "20260721-103658481Z-a4fd2fa24e",
      "file": "receipts/cycles/20260721-103658481Z-a4fd2fa24e.json",
      "ts": "2026-07-21T10:36:58.481Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.6069,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.6616,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T10:34:32.792Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 4,
          "standDown": 0,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 67.18; MACD golden_cross; MA trend mixed; ATR 1.24%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8925,
            "reason": "realized volatility proxy 2.35%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0047%, open interest 4.61M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Uptrend regime confirmed with four convergent bullish signals exceeding the trade threshold. Positive 24h/72h momentum, a 4h MACD golden cross, and an RSI of 67.18 indicate continuation pot..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "a4fd2fa24e65826f7677676fe455a46868aea63a1ce6c53605e91e3aa090943f"
    },
    {
      "cycleId": "20260721-103623510Z-c4b6731132",
      "file": "receipts/cycles/20260721-103623510Z-c4b6731132.json",
      "ts": "2026-07-21T10:36:23.510Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1353,
      "counterfactualRawReturnPct": 0.1353,
      "rawDirection": "long",
      "maxAdversePct": 0.7007,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T10:34:31.676Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 68.27; MACD golden_cross; MA trend bull; ATR 1.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9078,
            "reason": "realized volatility proxy 2.01%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0048%, open interest 35.32K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only 2 bullish signals are detected, falling short of the 3 required for convergence. BTCUSDT is currently range-bound and trading slightly extended above the Bollinger upper band. Derivati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c4b67311323014ffb8aeba3aac4d0cc6b64d3246b0dd1975739b5f21fb20d71e"
    },
    {
      "cycleId": "20260721-103542869Z-1509405aee",
      "file": "receipts/cycles/20260721-103542869Z-1509405aee.json",
      "ts": "2026-07-21T10:35:42.869Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.6817,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.4197,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T10:35:04.599Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 73.33; MACD golden_cross; MA trend bull; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8928,
            "reason": "realized volatility proxy 2.34%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0013%, open interest 752.96K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Uptrend regime confirmed by convergent 24h/72h momentum and a 4h MACD golden cross. Price trades above all key moving averages, while low funding rates and balanced open interest indicate s..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "1509405aee7981c116aee1b37e3f20598884b7b8ac3e82b2cab0ab64e6e33014"
    },
    {
      "cycleId": "20260721-064532004Z-06d042920b",
      "file": "receipts/cycles/20260721-064532004Z-06d042920b.json",
      "ts": "2026-07-21T06:45:32.004Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.6417,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.6179,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T06:43:02.238Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 4,
          "standDown": 0,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 70.58; MACD golden_cross; MA trend mixed; ATR 1.27%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8918,
            "reason": "realized volatility proxy 2.36%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0091%, open interest 4.52M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Uptrend regime confirmed by converging positive momentum and a MACD golden cross, with price consistently trading above key moving averages. Neutral derivatives funding indicates balanced l..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "06d042920b380c191712b80cf9d159cdc2e63f07d64a0c518811fd4a1fe2edba"
    },
    {
      "cycleId": "20260721-064448531Z-8c28fcc58e",
      "file": "receipts/cycles/20260721-064448531Z-8c28fcc58e.json",
      "ts": "2026-07-21T06:44:48.531Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1209,
      "counterfactualRawReturnPct": 0.1209,
      "rawDirection": "long",
      "maxAdversePct": 0.3912,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T06:43:01.088Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 64.96; MACD golden_cross; MA trend bull; ATR 1.02%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9078,
            "reason": "realized volatility proxy 2.01%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0005%, open interest 35.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only one bullish technical signal is present against a required convergence threshold of three. The market is in a ranging regime with balanced derivatives positioning and unconfirmed macro..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8c28fcc58e47902fb5450d771daeb883ed39d352e3c24c6b399a4be8f5b32d58"
    },
    {
      "cycleId": "20260721-064409773Z-e5a75eba04",
      "file": "receipts/cycles/20260721-064409773Z-e5a75eba04.json",
      "ts": "2026-07-21T06:44:09.773Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.7,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.6143,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.554,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T06:43:34.293Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 72.37; MACD golden_cross; MA trend bull; ATR 1.26%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8913,
            "reason": "realized volatility proxy 2.37%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0034%, open interest 741.5K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7,
            "reason": "Technical signals converge with strong positive momentum (3.94% 24h), confirmed uptrend regime, and a fresh MACD golden cross. Price holds above all major MAs. Balanced funding and neutral ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "e5a75eba04c5e371b3db9ff8e0c1839748c2ccaa523787b60cbe964338eb35be"
    },
    {
      "cycleId": "20260721-035209328Z-f37249ace3",
      "file": "receipts/cycles/20260721-035209328Z-f37249ace3.json",
      "ts": "2026-07-21T03:52:09.328Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1739,
      "counterfactualRawReturnPct": 0.1739,
      "rawDirection": "long",
      "maxAdversePct": 0.4829,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T03:49:32.074Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 69.98; MACD golden_cross; MA trend bull; ATR 1.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8923,
            "reason": "realized volatility proxy 2.35%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0046%, open interest 708.38K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show strong bullish momentum and moving average alignment, but derivatives sentiment is neutral and macro/news catalysts are unavailable. The bullish convergence count ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f37249ace334cca69191c0f0c7a1c182bc9763ab337d7fc48c194d830d94080a"
    },
    {
      "cycleId": "20260721-035130008Z-3ccd8d026f",
      "file": "receipts/cycles/20260721-035130008Z-3ccd8d026f.json",
      "ts": "2026-07-21T03:51:30.008Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0953,
      "counterfactualRawReturnPct": 0.0953,
      "rawDirection": "long",
      "maxAdversePct": 0.3255,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T03:49:31.365Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 61.05; MACD golden_cross; MA trend bull; ATR 1.05%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9089,
            "reason": "realized volatility proxy 1.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0005%, open interest 34.84K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet: only 1 bullish signal versus the 3 required. Range-bound regime, balanced derivatives positioning, and absent macro/news catalysts prevent trade initiation desp..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3ccd8d026fb6eafbd55416fc3c6739ee9ef4950de5db0be43e0919e52ecbd1f5"
    },
    {
      "cycleId": "20260721-035053042Z-1ea1aa5cf8",
      "file": "receipts/cycles/20260721-035053042Z-1ea1aa5cf8.json",
      "ts": "2026-07-21T03:50:53.042Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.5216,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.5648,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-21T03:50:04.727Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 67.78; MACD golden_cross; MA trend mixed; ATR 1.29%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8924,
            "reason": "realized volatility proxy 2.35%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0067%, open interest 4.56M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Bullish convergence threshold met (3/3). Price broke above 78.07 resistance with positive 24h/72h momentum, supported by a MACD golden cross and verified range regime. Balanced derivatives ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "1ea1aa5cf8554dfc6af389b6c7b9fd9ac51618c5015f3dec33c9fdcd4e0c289e"
    },
    {
      "cycleId": "20260720-213724705Z-c445105396",
      "file": "receipts/cycles/20260720-213724705Z-c445105396.json",
      "ts": "2026-07-20T21:37:24.705Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0.3,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.188,
      "counterfactualRawReturnPct": 0.188,
      "rawDirection": "long",
      "maxAdversePct": 0.2651,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T21:34:43.067Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 64.96; MACD golden_cross; MA trend bull; ATR 1.29%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8956,
            "reason": "realized volatility proxy 2.28%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0012%, open interest 719.9K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.3,
            "reason": "Technical structure shows a bullish bias (MACD golden cross, price above all major MAs, positive momentum), but the convergence threshold is unmet (2/3 required bullish signals). Derivative..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c4451053968a8d4dc8d25669290a25ba0546e43233f9675bf1f06f5bc2be9c99"
    },
    {
      "cycleId": "20260720-213642430Z-2a59499575",
      "file": "receipts/cycles/20260720-213642430Z-2a59499575.json",
      "ts": "2026-07-20T21:36:42.430Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0945,
      "counterfactualRawReturnPct": 0.0945,
      "rawDirection": "long",
      "maxAdversePct": 0.2749,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T21:34:42.287Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.41; MACD golden_cross; MA trend bull; ATR 1.07%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9123,
            "reason": "realized volatility proxy 1.91%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0018%, open interest 34.52K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet: only 1 of 3 required signals is bullish. BTC is trading in a confirmed range regime and pressing immediate resistance at 65427, with balanced derivatives positi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2a59499575b0ce09cbad61ff18d05206e09cf4216de142e98d86e747af28d4bb"
    },
    {
      "cycleId": "20260720-213603753Z-71da92d3da",
      "file": "receipts/cycles/20260720-213603753Z-71da92d3da.json",
      "ts": "2026-07-20T21:36:03.753Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1584,
      "counterfactualRawReturnPct": 0.1584,
      "rawDirection": "long",
      "maxAdversePct": 0.6921,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T21:35:16.183Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 66.12; MACD golden_cross; MA trend mixed; ATR 1.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8936,
            "reason": "realized volatility proxy 2.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0077%, open interest 4.53M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show mild bullish momentum (MACD golden cross, RSI ~66), but price is pressing against immediate resistance at 78.07 within a defined range regime. The qualitative laye..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "71da92d3dad2cb1acad38c10a463dfc20c4d82503cb28421b41c3bf1d14e4898"
    },
    {
      "cycleId": "20260720-182444575Z-10496c709d",
      "file": "receipts/cycles/20260720-182444575Z-10496c709d.json",
      "ts": "2026-07-20T18:24:44.575Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1474,
      "counterfactualRawReturnPct": 0.1474,
      "rawDirection": "long",
      "maxAdversePct": 0.4261,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T18:22:12.942Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 66.79; MACD golden_cross; MA trend bull; ATR 1.33%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8969,
            "reason": "realized volatility proxy 2.25%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0012%, open interest 718.23K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum and trend alignment lean bullish, but price is testing the upper Bollinger Band (~1910) within a defined range regime. The required convergence threshold is unmet (2/3 si..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "10496c709d56bc396369b869bd635adb0efb306186f135f568de44aa66662eb9"
    },
    {
      "cycleId": "20260720-182402679Z-c82b54161d",
      "file": "receipts/cycles/20260720-182402679Z-c82b54161d.json",
      "ts": "2026-07-20T18:24:02.679Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0945,
      "counterfactualRawReturnPct": 0.0945,
      "rawDirection": "long",
      "maxAdversePct": 0.5558,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T18:22:12.249Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 64.35; MACD golden_cross; MA trend bull; ATR 1.07%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9147,
            "reason": "realized volatility proxy 1.86%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0023%, open interest 34.87K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Despite underlying bullish technicals and a MACD golden cross, explicit convergence requirements mandate 3 confirmed signals while only 1 is registered. The market remains range-bound with ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c82b54161d63b326c3b9eaeb9cb1c8fd28779e89108444a5d533e327cdc70157"
    },
    {
      "cycleId": "20260720-182327906Z-a361b9cd6e",
      "file": "receipts/cycles/20260720-182327906Z-a361b9cd6e.json",
      "ts": "2026-07-20T18:23:27.906Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.4227,
      "counterfactualRawReturnPct": 0.4227,
      "rawDirection": "long",
      "maxAdversePct": 0.7847,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T18:22:45.417Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 66.85; MACD golden_cross; MA trend mixed; ATR 1.34%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8935,
            "reason": "realized volatility proxy 2.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0076%, open interest 4.51M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6,
            "reason": "Technical convergence threshold met with 3 bullish signals: positive 24h/72h momentum, range-regime trend confirmation, and a 4h MACD golden cross. Price is testing 78.07 resistance. Neutra..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a361b9cd6eefcc73af560e9976650eb7d645260018521f52207a7b582551e7f8"
    },
    {
      "cycleId": "20260720-143703686Z-825b223e83",
      "file": "receipts/cycles/20260720-143703686Z-825b223e83.json",
      "ts": "2026-07-20T14:37:03.686Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0725,
      "rawDirection": "short",
      "maxAdversePct": 3.2908,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T14:34:49.488Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 52.04; MACD death_cross; MA trend mixed; ATR 1.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9182,
            "reason": "realized volatility proxy 1.78%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0054%, open interest 4.52M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is confined to a range-bound structure with balanced derivatives positioning and mixed technicals. The convergence requirement of 3 aligned signals is unmet (1 bearish, 0 bullish), ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "825b223e8357d2902b5f9d041d85248c6f3218f231ca77dd07b52750a169801f"
    },
    {
      "cycleId": "20260720-143631219Z-d938291520",
      "file": "receipts/cycles/20260720-143631219Z-d938291520.json",
      "ts": "2026-07-20T14:36:31.219Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0685,
      "counterfactualRawReturnPct": 0.0685,
      "rawDirection": "long",
      "maxAdversePct": 0.0539,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T14:34:48.711Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.84; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9152,
            "reason": "realized volatility proxy 1.85%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0051%, open interest 751.46K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETH is consolidating in a range-bound regime with conflicting technicals; the 4h MACD golden cross is countered by flat momentum, mixed moving averages, and balanced derivatives positioning..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d93829152047a06d60d57c2738a7fa644d8bff16f2a87f8d43ca2381788152e2"
    },
    {
      "cycleId": "20260720-143558076Z-82be8775bb",
      "file": "receipts/cycles/20260720-143558076Z-82be8775bb.json",
      "ts": "2026-07-20T14:35:58.076Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0545,
      "counterfactualRawReturnPct": 0.0545,
      "rawDirection": "long",
      "maxAdversePct": 0,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T14:35:21.813Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.20; MACD golden_cross; MA trend mixed; ATR 1.05%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9364,
            "reason": "realized volatility proxy 1.39%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0056%, open interest 34.68K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT remains confined to a range with neutral short-term momentum and balanced derivatives positioning. The isolated 4h MACD golden cross lacks confirmation from RSI, volume, or funding ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "82be8775bbc68449503176ec9e42578c03cc195c774e4e8bbe478698ff8ac7ac"
    },
    {
      "cycleId": "20260720-111710729Z-b7ac16742d",
      "file": "receipts/cycles/20260720-111710729Z-b7ac16742d.json",
      "ts": "2026-07-20T11:17:10.729Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T11:15:13.186Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 56.29; MACD death_cross; MA trend mixed; ATR 1.22%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9276,
            "reason": "realized volatility proxy 1.58%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0025%, open interest 4.63M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is consolidating in a range-bound regime with conflicting technical signals (neutral RSI, mixed MAs, and a MACD death cross). Derivatives sentiment is balanced with minimal funding ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b7ac16742d3265447627f5c0a78ffbb75cff8b68d6a0b238836cebbbfc79fb9b"
    },
    {
      "cycleId": "20260720-111641979Z-d368f33bef",
      "file": "receipts/cycles/20260720-111641979Z-d368f33bef.json",
      "ts": "2026-07-20T11:16:41.979Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T11:15:12.520Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 56.75; MACD golden_cross; MA trend bull; ATR 1.18%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9366,
            "reason": "realized volatility proxy 1.38%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0014%, open interest 729.79K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with neutral momentum and balanced derivatives positioning. Despite isolated bullish technical readings, overall signal convergence remains at zero, falling short of t..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d368f33beff302584fb5763855b85c32849063c1fcaab8dc21a00c2a321d885d"
    },
    {
      "cycleId": "20260720-111612275Z-7983ac79f1",
      "file": "receipts/cycles/20260720-111612275Z-7983ac79f1.json",
      "ts": "2026-07-20T11:16:12.275Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0783,
      "counterfactualRawReturnPct": 0.0783,
      "rawDirection": "long",
      "maxAdversePct": 0.4827,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T11:15:45.182Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.34; MACD golden_cross; MA trend mixed; ATR 0.95%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9515,
            "reason": "realized volatility proxy 1.06%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0073%, open interest 34.84K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical count (1) falls well short of the required convergence threshold (3). BTC is range-bound with neutral momentum, balanced derivatives positioning (funding 0.0073%, steady O..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7983ac79f1462287a4858ad1de39e66bb2d4a6bfeae71c07e67ff8c34de476ea"
    },
    {
      "cycleId": "20260720-073450922Z-31acab2acb",
      "file": "receipts/cycles/20260720-073450922Z-31acab2acb.json",
      "ts": "2026-07-20T07:34:50.922Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T07:32:47.410Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 49.55; MACD golden_cross; MA trend mixed; ATR 1.19%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9416,
            "reason": "realized volatility proxy 1.27%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0025%, open interest 735.89K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Range-bound regime with split technical signals (1 bullish, 1 bearish) fails the required 3-signal convergence threshold. Derivatives positioning is balanced and no macro or news catalysts ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "31acab2acbb9fa204b03493783c20893166cb3f670e5f52a7f87ab6b03111c6f"
    },
    {
      "cycleId": "20260720-073416617Z-03124cb738",
      "file": "receipts/cycles/20260720-073416617Z-03124cb738.json",
      "ts": "2026-07-20T07:34:16.617Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T07:32:46.706Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 48.01; MACD golden_cross; MA trend mixed; ATR 0.87%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9558,
            "reason": "realized volatility proxy 0.96%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 34.55K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is trapped in a range regime with conflicting signals: Agent Hub TA flags a bullish MACD golden cross and mixed moving averages, while 24h momentum is negative. Derivatives funding an..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "03124cb7382f1a403e25e252ba845db478739df137ffe788e354316f71fa852d"
    },
    {
      "cycleId": "20260720-073355426Z-bef14dd0b6",
      "file": "receipts/cycles/20260720-073355426Z-bef14dd0b6.json",
      "ts": "2026-07-20T07:33:55.426Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0694,
      "rawDirection": "short",
      "maxAdversePct": 3.6797,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T07:33:20.290Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 49.83; MACD death_cross; MA trend mixed; ATR 1.23%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9322,
            "reason": "realized volatility proxy 1.48%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0006%, open interest 4.57M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is trading in a defined range with neutral derivatives positioning and near-zero funding. Only one bearish technical signal is present, failing to meet the three-signal convergence ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bef14dd0b6fef2af18c16c92d843201506ebffad7f3737ebf0e10629a165f9d8"
    },
    {
      "cycleId": "20260720-040927419Z-1018e1bdbc",
      "file": "receipts/cycles/20260720-040927419Z-1018e1bdbc.json",
      "ts": "2026-07-20T04:09:27.419Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T04:07:19.624Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 56.17; MACD death_cross; MA trend mixed; ATR 1.12%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.939,
            "reason": "realized volatility proxy 1.33%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0068%, open interest 4.64M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is range-bound at 76.46 with zero converging directional signals. Technicals are mixed: RSI is neutral at 56.17, MACD shows a death cross, and moving averages conflict. Derivatives ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1018e1bdbc193701648385e580bd3be92794c77aef1a4cdec4c3aae183641e2c"
    },
    {
      "cycleId": "20260720-040853819Z-ac95096ddb",
      "file": "receipts/cycles/20260720-040853819Z-ac95096ddb.json",
      "ts": "2026-07-20T04:08:53.819Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T04:07:18.881Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 57.12; MACD golden_cross; MA trend bull; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9524,
            "reason": "realized volatility proxy 1.04%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0065%, open interest 719.1K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack convergence despite a 4h bullish technical setup. Price is trapped in a range regime with neutral short-term momentum (0.29% 24h), balanced derivatives positioning (funding 0.0..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ac95096ddbaef909d109fdd6811d02ae0011e1d948f846c56aa6d501af153493"
    },
    {
      "cycleId": "20260720-040826911Z-8ffc5ed38b",
      "file": "receipts/cycles/20260720-040826911Z-8ffc5ed38b.json",
      "ts": "2026-07-20T04:08:26.911Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-20T04:07:51.900Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 56.87; MACD golden_cross; MA trend bull; ATR 0.75%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.968,
            "reason": "realized volatility proxy 0.70%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0041%, open interest 34.36K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is range-bound with neutral momentum and balanced derivatives. Despite short-term bullish technical structure, directional signal convergence is at zero, failing the threshold for entry."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8ffc5ed38b25e09e9f2c4d215980b27a59ba636cd6eb52442f64d7684f2ba5a2"
    },
    {
      "cycleId": "20260719-211130054Z-99f4be52e0",
      "file": "receipts/cycles/20260719-211130054Z-99f4be52e0.json",
      "ts": "2026-07-19T21:11:30.054Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0459,
      "rawDirection": "long",
      "maxAdversePct": 2.5918,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T21:09:24.818Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 53.43; MACD death_cross; MA trend mixed; ATR 1.08%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9503,
            "reason": "realized volatility proxy 1.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0054%, open interest 4.71M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Range-bound price action with neutral RSI (53.43), mixed moving averages, and balanced derivatives positioning. The required convergence threshold of 3 aligned signals is not met, with only..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "99f4be52e01dbdb0e59f7ae9889ac191fc2907df39f6044152492b97e1aab385"
    },
    {
      "cycleId": "20260719-211111836Z-387b376df1",
      "file": "receipts/cycles/20260719-211111836Z-387b376df1.json",
      "ts": "2026-07-19T21:11:11.836Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0047,
      "rawDirection": "long",
      "maxAdversePct": 3.297,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T21:09:24.063Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.04; MACD golden_cross; MA trend mixed; ATR 1.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9589,
            "reason": "realized volatility proxy 0.90%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 740.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met with only 1 bullish signal against the required 3. Price remains range-bound with mixed momentum, neutral RSI, balanced derivatives positioning, and no macro o..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "387b376df1ad6e049f9262310b07fc01998861bc258fe5919050e1079d9c7ae1"
    },
    {
      "cycleId": "20260719-211040228Z-e7b9e19394",
      "file": "receipts/cycles/20260719-211040228Z-e7b9e19394.json",
      "ts": "2026-07-19T21:10:40.228Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0432,
      "rawDirection": "long",
      "maxAdversePct": 2.0251,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T21:09:56.929Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.61; MACD golden_cross; MA trend mixed; ATR 0.72%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9742,
            "reason": "realized volatility proxy 0.56%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0085%, open interest 34.56K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is trading in a confirmed range with neutral momentum and balanced derivatives positioning. Only one technical signal registers as bullish, failing the required convergence threshold of..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e7b9e193940782916040ba41910f84b8fe74e35349cd0ef6e3918dc5f256235e"
    },
    {
      "cycleId": "20260719-172109246Z-9ac404a3b3",
      "file": "receipts/cycles/20260719-172109246Z-9ac404a3b3.json",
      "ts": "2026-07-19T17:21:09.246Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T17:18:50.710Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.95; MACD death_cross; MA trend mixed; ATR 1.12%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9513,
            "reason": "realized volatility proxy 1.06%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0055%, open interest 4.72M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet: only 1 bullish and 1 bearish signal present against a required 3. Technicals show mixed momentum with a MACD death cross and neutral RSI, while the market regim..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9ac404a3b3bb3eb89020913f279ffe03d5467ee691a0ac5ce83afa19df61eae4"
    },
    {
      "cycleId": "20260719-172035336Z-69dd1cecd2",
      "file": "receipts/cycles/20260719-172035336Z-69dd1cecd2.json",
      "ts": "2026-07-19T17:20:35.336Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T17:18:49.995Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 55.92; MACD golden_cross; MA trend bull; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9603,
            "reason": "realized volatility proxy 0.87%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0074%, open interest 751.25K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is trading in a range-bound regime with neutral technical momentum, balanced funding, and no catalyst confirmation. Convergence metrics show 0 directional signals against the requir..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "69dd1cecd25af3eff941c9f1dff2c56daa864c4e5e60c8d9225cf91a28808906"
    },
    {
      "cycleId": "20260719-172001421Z-b543ce39ea",
      "file": "receipts/cycles/20260719-172001421Z-b543ce39ea.json",
      "ts": "2026-07-19T17:20:01.421Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0235,
      "rawDirection": "long",
      "maxAdversePct": 2.6966,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T17:19:22.986Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.50; MACD golden_cross; MA trend mixed; ATR 0.75%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9722,
            "reason": "realized volatility proxy 0.61%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0083%, open interest 34.51K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price remains confined to a low-volatility range with mixed technicals and neutral derivatives positioning. Only 1 of the 3 required signals is bullish, falling short of the convergence thr..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b543ce39ea896e106c9f2cb6f89009e4c7efbc99d3c7894efc507d06a4d9d896"
    },
    {
      "cycleId": "20260719-135833746Z-ac0d2a87ef",
      "file": "receipts/cycles/20260719-135833746Z-ac0d2a87ef.json",
      "ts": "2026-07-19T13:58:33.746Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T13:55:58.641Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 53.22; MACD death_cross; MA trend mixed; ATR 1.08%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9505,
            "reason": "realized volatility proxy 1.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0067%, open interest 4.77M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (2 of 3 required signals). Short-term momentum is mildly bullish while 4h technicals show a bearish MACD death cross and neutral RSI within a range-bound regim..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ac0d2a87ef0cd0bb38baa76fb431a98f27d1382fdbdd01f6f14db33cf3cdafd2"
    },
    {
      "cycleId": "20260719-135755382Z-cc0742c354",
      "file": "receipts/cycles/20260719-135755382Z-cc0742c354.json",
      "ts": "2026-07-19T13:57:55.382Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0129,
      "rawDirection": "long",
      "maxAdversePct": 3.35,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T13:55:57.334Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.64; MACD golden_cross; MA trend mixed; ATR 0.76%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9623,
            "reason": "realized volatility proxy 0.82%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0053%, open interest 34.73K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is consolidating within a defined range with flat short-term momentum and balanced derivatives positioning. Only one technical signal reads bullish, failing the three-signal convergen..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cc0742c354d5614137dddece1463de178a87ae8d0e4004d3121f1156daf7b51a"
    },
    {
      "cycleId": "20260719-135711417Z-104f3f0dce",
      "file": "receipts/cycles/20260719-135711417Z-104f3f0dce.json",
      "ts": "2026-07-19T13:57:11.417Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0206,
      "rawDirection": "long",
      "maxAdversePct": 4.1772,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T13:56:30.579Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 58.13; MACD golden_cross; MA trend mixed; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9562,
            "reason": "realized volatility proxy 0.96%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0056%, open interest 759.86K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (2 of 3 required bullish signals). While technicals show mild upside momentum (MACD golden cross, RSI 58), price remains trapped in a range with balanced deriv..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "104f3f0dce50620d3d8b35859fa6d6bd3137a1ee1eba405512e80c62f7f758ee"
    },
    {
      "cycleId": "20260719-100401582Z-d93abd2008",
      "file": "receipts/cycles/20260719-100401582Z-d93abd2008.json",
      "ts": "2026-07-19T10:04:01.582Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T10:01:41.999Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.77; MACD death_cross; MA trend mixed; ATR 1.11%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9477,
            "reason": "realized volatility proxy 1.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0046%, open interest 4.79M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals are split with one bullish momentum reading versus one bearish verdict (MACD death cross, neutral RSI). The market is in a range regime, derivatives positioning is balance..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d93abd2008b707d2f07a4251a8734a20ccb72d8cc29024f4b2284d54737ddf90"
    },
    {
      "cycleId": "20260719-100332179Z-d91ac24cb7",
      "file": "receipts/cycles/20260719-100332179Z-d91ac24cb7.json",
      "ts": "2026-07-19T10:03:32.179Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0317,
      "rawDirection": "long",
      "maxAdversePct": 2.2446,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T10:01:40.398Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.51; MACD golden_cross; MA trend mixed; ATR 0.78%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9608,
            "reason": "realized volatility proxy 0.86%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0029%, open interest 34.61K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT remains range-bound near $64,450 with neutral momentum, unclear volatility, and balanced derivatives positioning. Only one technical signal registers as bullish, failing to meet the..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d91ac24cb7945e6449afe12b86c3d71d2b37ee3d7e3bebe64212aafa5e2b8981"
    },
    {
      "cycleId": "20260719-100248261Z-8124322cef",
      "file": "receipts/cycles/20260719-100248261Z-8124322cef.json",
      "ts": "2026-07-19T10:02:48.261Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0171,
      "rawDirection": "long",
      "maxAdversePct": 3.7134,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T10:02:14.134Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.79; MACD golden_cross; MA trend mixed; ATR 1.08%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9522,
            "reason": "realized volatility proxy 1.04%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0054%, open interest 766.5K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show mild bullish momentum and a MACD golden cross, but only 2 bullish signals are present against the required threshold of 3. Derivatives funding is neutral, market r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8124322cefa954833ec26139da5bb9f0f3533398d221fd1f6008587c9efdc083"
    },
    {
      "cycleId": "20260719-064607318Z-e6f5b1e1fd",
      "file": "receipts/cycles/20260719-064607318Z-e6f5b1e1fd.json",
      "ts": "2026-07-19T06:46:07.318Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T06:44:04.885Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.94; MACD death_cross; MA trend mixed; ATR 1.12%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9493,
            "reason": "realized volatility proxy 1.10%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0031%, open interest 4.8M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed technical signals (1 bullish vs 1 bearish) in a range-bound regime fail to meet the required 3-signal convergence threshold. Derivatives positioning is neutral and no macro or news ca..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e6f5b1e1fd6ede1dc17327866920e324da0e92f37bb27cdd528ad965edcf59f6"
    },
    {
      "cycleId": "20260719-064543328Z-7fedf7d083",
      "file": "receipts/cycles/20260719-064543328Z-7fedf7d083.json",
      "ts": "2026-07-19T06:45:43.328Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0373,
      "rawDirection": "long",
      "maxAdversePct": 2.4947,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T06:44:03.553Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 58.29; MACD golden_cross; MA trend bull; ATR 0.81%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9608,
            "reason": "realized volatility proxy 0.86%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0018%, open interest 34.48K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technicals show a bullish structure with a MACD golden cross, positive momentum, and price above key moving averages. However, the broader market regime remains range-bound, derivatives sen..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7fedf7d083a69148e28f4c6af67c6acda32c58aa5dae0cb3af2610fd3b42a926"
    },
    {
      "cycleId": "20260719-064514067Z-0de27a3310",
      "file": "receipts/cycles/20260719-064514067Z-0de27a3310.json",
      "ts": "2026-07-19T06:45:14.067Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0347,
      "rawDirection": "long",
      "maxAdversePct": 4.4104,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T06:44:36.634Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.42; MACD golden_cross; MA trend mixed; ATR 1.11%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9532,
            "reason": "realized volatility proxy 1.02%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 770.02K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 2/3 bullish signals aligned. ETHUSDT remains range-bound with balanced derivatives positioning and absent macro catalysts, warranting a wait-and-see ap..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0de27a33108e0fbd7a05fa57c9c0b507a71f22a69da145eca2727b926f9db902"
    },
    {
      "cycleId": "20260719-040040242Z-a8292b5b65",
      "file": "receipts/cycles/20260719-040040242Z-a8292b5b65.json",
      "ts": "2026-07-19T04:00:40.242Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T03:58:25.465Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.79; MACD death_cross; MA trend mixed; ATR 1.17%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9363,
            "reason": "realized volatility proxy 1.39%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0004%, open interest 4.82M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT remains range-bound with neutral derivatives positioning and conflicting technicals. A 4h MACD death cross and mixed moving averages offset slight short-term momentum. Signal conver..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a8292b5b65fd283fe05ea16f511f22c0a67edfbd0670bec84f898caaaeb3b15e"
    },
    {
      "cycleId": "20260719-040005916Z-fbfc1ae390",
      "file": "receipts/cycles/20260719-040005916Z-fbfc1ae390.json",
      "ts": "2026-07-19T04:00:05.916Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0135,
      "rawDirection": "long",
      "maxAdversePct": 3.665,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T03:58:24.343Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 57.95; MACD golden_cross; MA trend bull; ATR 0.85%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9474,
            "reason": "realized volatility proxy 1.15%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0058%, open interest 34.4K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price remains range-bound with unclear volatility and balanced derivatives positioning. Only 1 of the 3 required converging signals is active, failing Catalyst's threshold for a high-probab..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "fbfc1ae3908772ef2e63290e33329697adc35e00b979ffe7e6e58fdcf265b532"
    },
    {
      "cycleId": "20260719-035930790Z-4aa95fac8b",
      "file": "receipts/cycles/20260719-035930790Z-4aa95fac8b.json",
      "ts": "2026-07-19T03:59:30.790Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1226,
      "rawDirection": "long",
      "maxAdversePct": 6.3621,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-19T03:58:57.309Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.13; MACD golden_cross; MA trend mixed; ATR 1.17%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9324,
            "reason": "realized volatility proxy 1.48%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0087%, open interest 763.25K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical count stands at 2, below the required 3 for trade convergence. Price is trapped in a range-bound regime with mixed momentum and balanced derivatives positioning, lacking t..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4aa95fac8b044f2900c8dbf73f3692e723b024fca141051982ec42f2b4409e18"
    },
    {
      "cycleId": "20260718-211022353Z-c7e1967722",
      "file": "receipts/cycles/20260718-211022353Z-c7e1967722.json",
      "ts": "2026-07-18T21:10:22.353Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.093,
      "counterfactualRawReturnPct": 0.093,
      "rawDirection": "short",
      "maxAdversePct": 0.5049,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T21:07:55.469Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.33; MACD death_cross; MA trend mixed; ATR 1.15%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9317,
            "reason": "realized volatility proxy 1.49%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0036%, open interest 4.98M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with neutral macro sentiment and balanced derivatives positioning. Only one technical source shows bearish divergence (MACD death cross), which falls short of the requ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c7e1967722ee9c17e9b991af5079dd83ea2b4bade6b72282513392c49aa58eef"
    },
    {
      "cycleId": "20260718-210949444Z-c4683e311a",
      "file": "receipts/cycles/20260718-210949444Z-c4683e311a.json",
      "ts": "2026-07-18T21:09:49.444Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1251,
      "rawDirection": "long",
      "maxAdversePct": 5.9708,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T21:07:54.775Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.09; MACD golden_cross; MA trend mixed; ATR 1.18%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9292,
            "reason": "realized volatility proxy 1.55%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0064%, open interest 755.25K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETH is range-bound around 1856. Technicals show mild bullish divergence (MACD golden cross offset by neutral RSI and mixed moving averages), while derivatives sentiment is balanced and macr..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c4683e311ae6b3de7ea47d059968813bc1f4aa0db0069b8ad91e3fe8f23721c6"
    },
    {
      "cycleId": "20260718-210912117Z-e83bda2560",
      "file": "receipts/cycles/20260718-210912117Z-e83bda2560.json",
      "ts": "2026-07-18T21:09:12.117Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0045,
      "rawDirection": "long",
      "maxAdversePct": 3.4258,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T21:08:27.789Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 58.54; MACD golden_cross; MA trend mixed; ATR 0.86%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.943,
            "reason": "realized volatility proxy 1.24%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0049%, open interest 34.19K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is range-bound with only 2 bullish signals, failing to meet the 3-signal convergence threshold. Technicals show mixed MA trends and neutral RSI despite a MACD golden cross. Derivatives ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e83bda25607f00c7c2f47b2f02107a0abd0b2f3e16e3866d5d3d7902dedf6cab"
    },
    {
      "cycleId": "20260718-171859394Z-e02c2334f3",
      "file": "receipts/cycles/20260718-171859394Z-e02c2334f3.json",
      "ts": "2026-07-18T17:18:59.394Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1024,
      "counterfactualRawReturnPct": 0.1024,
      "rawDirection": "short",
      "maxAdversePct": 0.7467,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T17:16:55.290Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 42.95; MACD death_cross; MA trend mixed; ATR 1.18%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.932,
            "reason": "realized volatility proxy 1.48%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.96M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met; only one bearish technical reading exists alongside neutral momentum, balanced derivatives positioning, and a range-bound regime. Without aligned macro..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e02c2334f3e3395ca10745c493cc1cc2d0b991da530984987832547d335f5d5d"
    },
    {
      "cycleId": "20260718-171832691Z-dd65cc3544",
      "file": "receipts/cycles/20260718-171832691Z-dd65cc3544.json",
      "ts": "2026-07-18T17:18:32.691Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0384,
      "rawDirection": "long",
      "maxAdversePct": 3.7573,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T17:16:53.705Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.97; MACD golden_cross; MA trend mixed; ATR 0.87%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9429,
            "reason": "realized volatility proxy 1.25%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0024%, open interest 34.36K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bullish signal vs 3 required). BTC is range-bound with conflicting technicals (MACD golden cross offset by neutral RSI at 54.97 and mixed moving averages). De..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "dd65cc3544db6f04daa3b627094967c50da7c28f664c915a3bd42bb900d4636f"
    },
    {
      "cycleId": "20260718-171756820Z-13ddcb34e1",
      "file": "receipts/cycles/20260718-171756820Z-13ddcb34e1.json",
      "ts": "2026-07-18T17:17:56.820Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1594,
      "rawDirection": "long",
      "maxAdversePct": 6.2706,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T17:17:27.396Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 49.12; MACD golden_cross; MA trend mixed; ATR 1.17%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9284,
            "reason": "realized volatility proxy 1.56%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0034%, open interest 762.31K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish signal convergence (2) falls short of the required threshold (3). Price remains range-bound with mixed technicals (neutral RSI at 49, mixed MAs despite a 4h MACD golden cross) and b..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "13ddcb34e160d4bce28a30c289bf3b24e3f62be038e08aa9b93437e65dfa168e"
    },
    {
      "cycleId": "20260718-135458076Z-cbb0b6a810",
      "file": "receipts/cycles/20260718-135458076Z-cbb0b6a810.json",
      "ts": "2026-07-18T13:54:58.076Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T13:52:25.794Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 37.63; MACD death_cross; MA trend bear; ATR 1.24%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9261,
            "reason": "realized volatility proxy 1.61%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0069%, open interest 4.9M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack the required convergence for execution. While Agent Hub technicals lean bearish (MACD death cross, bearish MA alignment) and the market regime is downtrend, 4h momentum is flat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cbb0b6a810df2dc305131a4f6104bdb2eed12e11c3941dfdb6ce1a62f5fe0966"
    },
    {
      "cycleId": "20260718-135428700Z-44158ec007",
      "file": "receipts/cycles/20260718-135428700Z-44158ec007.json",
      "ts": "2026-07-18T13:54:28.700Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0839,
      "rawDirection": "long",
      "maxAdversePct": 4.3989,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T13:52:24.449Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.27; MACD golden_cross; MA trend mixed; ATR 0.91%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9377,
            "reason": "realized volatility proxy 1.36%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0016%, open interest 34.19K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technicals show a mild bullish lean (MACD golden cross, neutral RSI), but the market remains range-bound with balanced derivatives positioning. Crucially, the bullish signal count (2) falls..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "44158ec0070e4dbb2d52632a048974cf18b22a3a6c45194844a0b990155e1f03"
    },
    {
      "cycleId": "20260718-135353167Z-1b05f7ad5e",
      "file": "receipts/cycles/20260718-135353167Z-1b05f7ad5e.json",
      "ts": "2026-07-18T13:53:53.167Z",
      "symbol": "ETHUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.45,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.162,
      "counterfactualRawReturnPct": -0.3815,
      "rawDirection": "long",
      "maxAdversePct": 6.6541,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T13:52:57.650Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 46.74; MACD golden_cross; MA trend mixed; ATR 1.24%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9271,
            "reason": "realized volatility proxy 1.59%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0019%, open interest 760.08K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.45,
            "reason": "Technical convergence meets the trade threshold with a MACD golden cross, price above the upper Bollinger Band, and positive 24h momentum, suggesting a short-term bullish bounce despite an ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1b05f7ad5e6114610469592b36263b5b969805a1380335b05cf5891866d6ee93"
    },
    {
      "cycleId": "20260718-095017974Z-d29f3cf3c6",
      "file": "receipts/cycles/20260718-095017974Z-d29f3cf3c6.json",
      "ts": "2026-07-18T09:50:17.974Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1418,
      "counterfactualRawReturnPct": 0.1418,
      "rawDirection": "short",
      "maxAdversePct": 1.9565,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T09:48:05.306Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 38.50; MACD death_cross; MA trend bear; ATR 1.26%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9226,
            "reason": "realized volatility proxy 1.69%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0048%, open interest 4.94M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technicals (MACD death cross, RSI 38.5, declining MAs) lack sufficient convergence, registering only 1 bearish signal against the 3 required for execution. The asset remains confine..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d29f3cf3c661cd63b247b479c634838947c02ffbc7d7fd42701e5ec70b14b113"
    },
    {
      "cycleId": "20260718-094947717Z-2ee1ee171b",
      "file": "receipts/cycles/20260718-094947717Z-2ee1ee171b.json",
      "ts": "2026-07-18T09:49:47.717Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0839,
      "rawDirection": "long",
      "maxAdversePct": 4.3176,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T09:48:04.532Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 48.25; MACD golden_cross; MA trend mixed; ATR 1.27%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.922,
            "reason": "realized volatility proxy 1.70%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0053%, open interest 759.63K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence requirement not met (1 bullish signal vs 3 required). ETHUSDT is consolidating in a range regime with neutral momentum and balanced derivatives positioning. While a 4h MA..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2ee1ee171bcf46e9a9ddf6d95befc04d4c28a23510ca419d3706a6658ec4e1ec"
    },
    {
      "cycleId": "20260718-094914315Z-60c4a54b92",
      "file": "receipts/cycles/20260718-094914315Z-60c4a54b92.json",
      "ts": "2026-07-18T09:49:14.315Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0471,
      "rawDirection": "long",
      "maxAdversePct": 3.3969,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T09:48:37.847Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.45; MACD golden_cross; MA trend mixed; ATR 0.93%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9335,
            "reason": "realized volatility proxy 1.45%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0069%, open interest 34.16K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Range-bound regime with neutral funding and absent macro/news catalysts. Only 2 of 3 required convergence signals are met, which is insufficient for a directional entry despite a MACD golde..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "60c4a54b9243f0464240a736b02c736fe6194d983339b4c0e5b754b02fb1ff16"
    },
    {
      "cycleId": "20260718-062318717Z-08799eec3b",
      "file": "receipts/cycles/20260718-062318717Z-08799eec3b.json",
      "ts": "2026-07-18T06:23:18.717Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.13,
      "counterfactualRawReturnPct": 0.13,
      "rawDirection": "short",
      "maxAdversePct": 1.875,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T06:21:03.348Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 40.58; MACD death_cross; MA trend mixed; ATR 1.31%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9136,
            "reason": "realized volatility proxy 1.88%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0042%, open interest 4.96M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence requirement not met: only 1 bearish technical signal against the 3 required. The regime is ranging, derivatives positioning and funding are balanced, and macro/news feeds provid..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "08799eec3bd4fe7f788f309fa3567e44284d5f41b551baf3a45a8919200ed33c"
    },
    {
      "cycleId": "20260718-062243923Z-700fc429fd",
      "file": "receipts/cycles/20260718-062243923Z-700fc429fd.json",
      "ts": "2026-07-18T06:22:43.923Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0685,
      "rawDirection": "long",
      "maxAdversePct": 4.0471,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T06:21:02.683Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 48.86; MACD golden_cross; MA trend mixed; ATR 1.34%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9111,
            "reason": "realized volatility proxy 1.94%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0074%, open interest 757.56K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold requires 3 confirmed signals but only 2 are present. MACD golden cross and short-term momentum show mild bullish bias, yet the broader regime remains range-bound with ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "700fc429fd6d5288b04313a78cd4a7e529e38b3cd4268332fb5fd8b30df2e6fc"
    },
    {
      "cycleId": "20260718-062208469Z-8f3f027717",
      "file": "receipts/cycles/20260718-062208469Z-8f3f027717.json",
      "ts": "2026-07-18T06:22:08.469Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0479,
      "rawDirection": "long",
      "maxAdversePct": 3.4545,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T06:21:35.413Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.79; MACD golden_cross; MA trend mixed; ATR 0.99%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9282,
            "reason": "realized volatility proxy 1.57%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0040%, open interest 34.14K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence falls short of the required threshold (2 bullish signals vs 3 required). Technicals show a mild bullish lean with a MACD golden cross and neutral RSI, but price remains r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8f3f0277176192d6c05442810e269c63a70655d0810a67443021d3d96b3576f0"
    },
    {
      "cycleId": "20260718-033850303Z-b3bdd610e4",
      "file": "receipts/cycles/20260718-033850303Z-b3bdd610e4.json",
      "ts": "2026-07-18T03:38:50.303Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T03:36:23.363Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 41.28; MACD death_cross; MA trend mixed; ATR 1.36%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.91,
            "reason": "realized volatility proxy 1.96%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0042%, open interest 4.95M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold unmet with only one directional bias against a required three. The asset is range-bound with conflicting technicals (bearish MACD cross vs balanced derivatives ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b3bdd610e4ee6c8a7c1bea5c2676cdb5db1d19ab60370dfecfea06de2b22c734"
    },
    {
      "cycleId": "20260718-033804642Z-24a3c8a305",
      "file": "receipts/cycles/20260718-033804642Z-24a3c8a305.json",
      "ts": "2026-07-18T03:38:04.642Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0839,
      "rawDirection": "long",
      "maxAdversePct": 4.2118,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T03:36:22.587Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 47.53; MACD golden_cross; MA trend mixed; ATR 1.42%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9105,
            "reason": "realized volatility proxy 1.95%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0062%, open interest 752.94K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold unmet with only 1 bullish input against the required 3. Price is range-bound near 1842 with neutral derivatives positioning, slightly negative 72h momentum, and..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "24a3c8a305bf413d2a6240763ffae791e2169913e5d5762f4deb1747ad35bd0f"
    },
    {
      "cycleId": "20260718-033729739Z-5a34231ede",
      "file": "receipts/cycles/20260718-033729739Z-5a34231ede.json",
      "ts": "2026-07-18T03:37:29.739Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0617,
      "rawDirection": "long",
      "maxAdversePct": 3.7061,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-18T03:36:55.474Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.24; MACD golden_cross; MA trend mixed; ATR 1.05%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9266,
            "reason": "realized volatility proxy 1.60%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0023%, open interest 34.2K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence requirement unmet with only 1 bullish signal against the 3 needed. BTC is trading in a range-bound regime with mixed moving averages, neutral momentum, and balanced derivatives ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5a34231ede29cc7bc51f5b520ffe5641b0638af3ccc2ff8b5f727afa0efe7f81"
    },
    {
      "cycleId": "20260717-211159837Z-95bd7b8ef0",
      "file": "receipts/cycles/20260717-211159837Z-95bd7b8ef0.json",
      "ts": "2026-07-17T21:11:59.837Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1388,
      "counterfactualRawReturnPct": 0.1388,
      "rawDirection": "short",
      "maxAdversePct": 1.5007,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T21:09:34.826Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 40.48; MACD death_cross; MA trend mixed; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9084,
            "reason": "realized volatility proxy 2.00%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0070%, open interest 4.9M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence requirement not met (1 bearish vs 3 needed). SOL is range-bound with neutral derivatives, mixed MAs, and absent news/macro catalysts, favoring a wait-and-see approach."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "95bd7b8ef056214f77e8379cf45d86b140fe4a89775b840110856c5d150ed77a"
    },
    {
      "cycleId": "20260717-211121803Z-c1d889a483",
      "file": "receipts/cycles/20260717-211121803Z-c1d889a483.json",
      "ts": "2026-07-17T21:11:21.803Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T21:09:34.192Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 47.98; MACD golden_cross; MA trend mixed; ATR 1.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9083,
            "reason": "realized volatility proxy 2.00%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0031%, open interest 747.63K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only one bullish and one bearish signal, falling short of the required three aligned signals. Technical readings conflict as negative 24h/72h momentum clash..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c1d889a48301d2abeb3eac9a78d59cca72b58d5726745435c310d0e5e9258562"
    },
    {
      "cycleId": "20260717-211039771Z-a100f8492a",
      "file": "receipts/cycles/20260717-211039771Z-a100f8492a.json",
      "ts": "2026-07-17T21:10:39.771Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.054,
      "rawDirection": "long",
      "maxAdversePct": 3.8454,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T21:10:06.753Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.47; MACD golden_cross; MA trend mixed; ATR 1.10%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9258,
            "reason": "realized volatility proxy 1.62%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0015%, open interest 34.05K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is trapped in a range-bound regime with balanced derivatives positioning and funding near zero. Only 1 of the 3 required convergence signals is bullish (MACD cross), while 24h/72h momen..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a100f8492a326abbb785d032006b6753902bd790946ac26b0c3bfd81f9c69d1c"
    },
    {
      "cycleId": "20260717-173521127Z-353eb2ecea",
      "file": "receipts/cycles/20260717-173521127Z-353eb2ecea.json",
      "ts": "2026-07-17T17:35:21.127Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0988,
      "rawDirection": "short",
      "maxAdversePct": 2.4085,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T17:32:47.775Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 41.43; MACD death_cross; MA trend mixed; ATR 1.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9064,
            "reason": "realized volatility proxy 2.04%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0059%, open interest 4.93M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT remains in a range-bound regime with only one bearish technical signal and zero bullish confirmations. The convergence threshold requires three aligned signals to trade, and derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "353eb2eceae0391b7df2758f5f6085335f90cb7148df426f53c0c974aecf3637"
    },
    {
      "cycleId": "20260717-173430210Z-faa8cb3996",
      "file": "receipts/cycles/20260717-173430210Z-faa8cb3996.json",
      "ts": "2026-07-17T17:34:30.210Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T17:32:47.214Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 48.41; MACD golden_cross; MA trend mixed; ATR 1.56%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9079,
            "reason": "realized volatility proxy 2.01%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0036%, open interest 749.05K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bullish vs 1 bearish, requires 3). Technicals are mixed: negative 24h/72h momentum conflicts with a 4h MACD golden cross, price sits in a confirmed range regi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "faa8cb3996c31a25923946e240cceb4b9fe62700fce18d7d84227ed4d3a99f36"
    },
    {
      "cycleId": "20260717-173354629Z-55f99ada9e",
      "file": "receipts/cycles/20260717-173354629Z-55f99ada9e.json",
      "ts": "2026-07-17T17:33:54.629Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0321,
      "rawDirection": "long",
      "maxAdversePct": 3.1573,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T17:33:19.823Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.54; MACD golden_cross; MA trend mixed; ATR 1.13%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9255,
            "reason": "realized volatility proxy 1.62%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0063%, open interest 34.57K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met; only 1 out of 3 required signals aligns bullishly while the market remains range-bound with neutral derivatives sentiment and absent macro/news catalys..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "55f99ada9e973e7563be5c18aaa7c61275f19d670e1e5730bc97606d550512b9"
    },
    {
      "cycleId": "20260717-140750542Z-785319e478",
      "file": "receipts/cycles/20260717-140750542Z-785319e478.json",
      "ts": "2026-07-17T14:07:50.542Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T14:05:33.197Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 34.27; MACD death_cross; MA trend bear; ATR 1.51%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9089,
            "reason": "realized volatility proxy 1.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0077%, open interest 4.96M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum leans bearish with a MACD death cross, RSI at 34, and price below key moving averages, but the convergence threshold (1 bullish vs 1 bearish vs 3 required) is unmet. Deri..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "785319e478a4567a281636918bfc93f1cc4e61e5d282fbee8cbff615bec2b37d"
    },
    {
      "cycleId": "20260717-140714748Z-605edb82f4",
      "file": "receipts/cycles/20260717-140714748Z-605edb82f4.json",
      "ts": "2026-07-17T14:07:14.748Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0988,
      "rawDirection": "short",
      "maxAdversePct": 3.8995,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T14:05:32.479Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.78; MACD golden_cross; MA trend mixed; ATR 1.57%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.91,
            "reason": "realized volatility proxy 1.96%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0076%, open interest 746.82K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bearish vs 3 required). Price remains range-bound with conflicting technicals (negative short-term momentum vs neutral RSI and mixed MAs). Balanced derivati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "605edb82f4c28f85bb3a60884cf552fd0cf0e3212a6ee6462863bace4b3db27a"
    },
    {
      "cycleId": "20260717-140635401Z-cf8fff8428",
      "file": "receipts/cycles/20260717-140635401Z-cf8fff8428.json",
      "ts": "2026-07-17T14:06:35.401Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0935,
      "counterfactualRawReturnPct": 0.0935,
      "rawDirection": "short",
      "maxAdversePct": 1.3525,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T14:06:05.353Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.70; MACD golden_cross; MA trend mixed; ATR 1.11%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.931,
            "reason": "realized volatility proxy 1.50%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.8K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack required convergence (bearish count 1 vs 3 needed). Market is range-bound with balanced derivatives positioning and mixed technicals (RSI neutral, MACD cross but flat MAs). No ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cf8fff84285cccdb261164b6ceca3258139a2ae2d97b6dc6a86dd0fe116f8f8c"
    },
    {
      "cycleId": "20260717-101455834Z-c0ce016da8",
      "file": "receipts/cycles/20260717-101455834Z-c0ce016da8.json",
      "ts": "2026-07-17T10:14:55.834Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1118,
      "rawDirection": "short",
      "maxAdversePct": 2.8405,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T10:12:42.843Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 34.90; MACD death_cross; MA trend bear; ATR 1.45%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9042,
            "reason": "realized volatility proxy 2.09%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.87M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical setup shows bearish pressure with a MACD death cross and price trading below key moving averages, but signal convergence falls short at 1 bearish signal versus the 3 required for ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c0ce016da8d90e100a9bf7a8e2f0aa4acf437929eb0690d659037c7eff5f7618"
    },
    {
      "cycleId": "20260717-101423544Z-2d7655fce5",
      "file": "receipts/cycles/20260717-101423544Z-2d7655fce5.json",
      "ts": "2026-07-17T10:14:23.544Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T10:12:42.040Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 44.51; MACD golden_cross; MA trend mixed; ATR 1.51%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.882,
            "reason": "realized volatility proxy 2.57%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 790.58K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met with only 1 bullish and 1 bearish signal against a requirement of 3. ETH is range-bound with neutral derivatives funding and mixed technicals (MACD golden cros..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2d7655fce5bad3f8b7c63be40d37bf0ff34c4682a38412bb26a3de6f18239f46"
    },
    {
      "cycleId": "20260717-101348818Z-bef6aed250",
      "file": "receipts/cycles/20260717-101348818Z-bef6aed250.json",
      "ts": "2026-07-17T10:13:48.818Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0571,
      "rawDirection": "short",
      "maxAdversePct": 2.5827,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T10:13:15.197Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 40.38; MACD golden_cross; MA trend mixed; ATR 1.08%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9275,
            "reason": "realized volatility proxy 1.58%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.28K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold (3/4) is unmet. BTC is range-bound with balanced derivatives positioning and neutral macro/news context. Mixed 4h technicals—bearish 24h momentum and RSI below ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bef6aed250a9e86cb7c5e57e88ad90f8b58e8520b255da1b9579d714d599d520"
    },
    {
      "cycleId": "20260717-063203887Z-969fae1498",
      "file": "receipts/cycles/20260717-063203887Z-969fae1498.json",
      "ts": "2026-07-17T06:32:03.887Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T06:29:38.974Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 43.85; MACD golden_cross; MA trend mixed; ATR 1.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8805,
            "reason": "realized volatility proxy 2.61%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 762.6K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Conflicting signals prevent entry: bearish 24h momentum (-3.98%) offsets a bullish 4h MACD golden cross, while derivatives positioning and volatility remain neutral in a ranging regime. The..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "969fae149855b36e75104687374cb9a86c7b4ce649b732d14c36d7cf47d92655"
    },
    {
      "cycleId": "20260717-063124833Z-08501bba99",
      "file": "receipts/cycles/20260717-063124833Z-08501bba99.json",
      "ts": "2026-07-17T06:31:24.833Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T06:29:38.034Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 38.76; MACD golden_cross; MA trend mixed; ATR 1.11%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9263,
            "reason": "realized volatility proxy 1.61%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.2K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals are split (1 bullish MACD cross vs 1 bearish short-term momentum) within a range-bound regime. Price trades below the 7 and 25-period MAs, RSI is neutral-low, and derivati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "08501bba99d89ad3c7eb0a10a387d7796dda3f6dbb7d8272740bcb5b8405ab85"
    },
    {
      "cycleId": "20260717-063046263Z-6d2e3acf0f",
      "file": "receipts/cycles/20260717-063046263Z-6d2e3acf0f.json",
      "ts": "2026-07-17T06:30:46.263Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0229,
      "rawDirection": "short",
      "maxAdversePct": 5.1497,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T06:30:11.779Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 34.45; MACD death_cross; MA trend bear; ATR 1.50%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9014,
            "reason": "realized volatility proxy 2.15%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.84M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technicals show bearish structure (MACD death cross, price below key MAs, negative momentum), but the convergence threshold is unmet (1/3 required bearish signals). Derivatives positioning ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6d2e3acf0fbcb0a226c4ccfc731db1f3e33d0fbf2937fb51bf5fe1f0ccc131f9"
    },
    {
      "cycleId": "20260717-034313376Z-7a71a92a39",
      "file": "receipts/cycles/20260717-034313376Z-7a71a92a39.json",
      "ts": "2026-07-17T03:43:13.376Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0075,
      "rawDirection": "short",
      "maxAdversePct": 4.8148,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T03:41:03.379Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 37.68; MACD death_cross; MA trend bear; ATR 1.50%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9062,
            "reason": "realized volatility proxy 2.05%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.73M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 bearish signal against the 3 required. While technicals show bearish momentum and a MACD death cross, the asset remains in a range regime with balanc..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7a71a92a39a370572340fccbebd3d6808b468e519b599a62b32001ae66354a21"
    },
    {
      "cycleId": "20260717-034242581Z-ebe2f9852a",
      "file": "receipts/cycles/20260717-034242581Z-ebe2f9852a.json",
      "ts": "2026-07-17T03:42:42.581Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T03:41:02.141Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 44.77; MACD golden_cross; MA trend mixed; ATR 1.07%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9322,
            "reason": "realized volatility proxy 1.48%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0071%, open interest 34.82K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet; only 1 bullish technical signal (MACD cross, neutral RSI) opposes 1 bearish momentum reading within a defined range. Derivatives are balanced, news is absent, a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ebe2f9852af778c04d223da8dbba8bb49a2354cff50886c23b853f5b35397afb"
    },
    {
      "cycleId": "20260717-034208427Z-93e98c4cd6",
      "file": "receipts/cycles/20260717-034208427Z-93e98c4cd6.json",
      "ts": "2026-07-17T03:42:08.427Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1523,
      "counterfactualRawReturnPct": 0.1523,
      "rawDirection": "long",
      "maxAdversePct": 0.4753,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-17T03:41:35.260Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 49.37; MACD golden_cross; MA trend mixed; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8892,
            "reason": "realized volatility proxy 2.42%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0076%, open interest 740.98K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed technical signals (bullish MACD cross vs bearish 24h momentum) and neutral derivatives positioning fail to meet the 3-signal convergence threshold for a directional trade. ETH remains..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "93e98c4cd67dbaa24a926f590d05917728c179063681430cb8d4ad9c54f30399"
    },
    {
      "cycleId": "20260716-212121836Z-b94ae2cba3",
      "file": "receipts/cycles/20260716-212121836Z-b94ae2cba3.json",
      "ts": "2026-07-16T21:21:21.836Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0536,
      "rawDirection": "short",
      "maxAdversePct": 5.3895,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T21:18:45.093Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 42.81; MACD death_cross; MA trend bear; ATR 1.42%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9071,
            "reason": "realized volatility proxy 2.03%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0094%, open interest 4.57M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bearish vs 3 required). SOL is trading in a range with balanced derivatives positioning and mixed short-term momentum. While technicals show a MACD d..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b94ae2cba36a06fd20de8a2388f0acc4695bd17c275e390d8af77598dcb9786c"
    },
    {
      "cycleId": "20260716-212045136Z-7a5a3773a5",
      "file": "receipts/cycles/20260716-212045136Z-7a5a3773a5.json",
      "ts": "2026-07-16T21:20:45.136Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1191,
      "counterfactualRawReturnPct": 0.1191,
      "rawDirection": "long",
      "maxAdversePct": 0.1106,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T21:18:43.661Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.69; MACD golden_cross; MA trend mixed; ATR 1.02%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.931,
            "reason": "realized volatility proxy 1.50%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0054%, open interest 34.76K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed signals fail to meet the required convergence threshold of 3. While the 4h technicals show a bullish MACD golden cross, 24h momentum is negative (-1.02%) and price trades below the 7-..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7a5a3773a56b16285eb9b43e9456b15b0d9835a9dbc6909bec36d7671103a0db"
    },
    {
      "cycleId": "20260716-211956381Z-6816747305",
      "file": "receipts/cycles/20260716-211956381Z-6816747305.json",
      "ts": "2026-07-16T21:19:56.381Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2259,
      "counterfactualRawReturnPct": 0.2259,
      "rawDirection": "long",
      "maxAdversePct": 0.1954,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T21:19:17.133Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.99; MACD golden_cross; MA trend mixed; ATR 1.43%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8874,
            "reason": "realized volatility proxy 2.46%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 750.35K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish count (2) fails to meet the required threshold (3) for trade execution. Mixed short-term momentum and neutral derivatives/absent macro data prevent full signal convergence despite t..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "68167473051a577038f74dcd36bbea0b1fe97cdaceccbb5d759c70a61f1cdcc9"
    },
    {
      "cycleId": "20260716-174336148Z-04cf61db7a",
      "file": "receipts/cycles/20260716-174336148Z-04cf61db7a.json",
      "ts": "2026-07-16T17:43:36.148Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2191,
      "counterfactualRawReturnPct": 0.2191,
      "rawDirection": "long",
      "maxAdversePct": 1.2762,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T17:41:19.287Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.39; MACD golden_cross; MA trend mixed; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.889,
            "reason": "realized volatility proxy 2.42%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 766.22K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators are split: short-term momentum is negative while the Agent Hub reports a MACD golden cross. Derivatives positioning, news feeds, and macro context are all neutral. The ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "04cf61db7a98b8cef4d38d5a20ab42744ef315e9f7157dc1000e17b486df0228"
    },
    {
      "cycleId": "20260716-174254975Z-cb9a54a14b",
      "file": "receipts/cycles/20260716-174254975Z-cb9a54a14b.json",
      "ts": "2026-07-16T17:42:54.975Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1238,
      "counterfactualRawReturnPct": 0.1238,
      "rawDirection": "long",
      "maxAdversePct": 0.6751,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T17:41:18.391Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.02; MACD golden_cross; MA trend mixed; ATR 1.07%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9336,
            "reason": "realized volatility proxy 1.45%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0042%, open interest 34.7K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed technical indicators with neutral RSI, a recent MACD golden cross, and slightly negative 24-hour momentum lack unified directional convergence. The market remains range-bound with bal..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cb9a54a14bbdc652b27ee1886f1a3e58d77a4c56af95d004d42bf0f706d16f51"
    },
    {
      "cycleId": "20260716-174216926Z-efd50ae6c0",
      "file": "receipts/cycles/20260716-174216926Z-efd50ae6c0.json",
      "ts": "2026-07-16T17:42:16.926Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0401,
      "rawDirection": "short",
      "maxAdversePct": 5.1105,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T17:41:52.338Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 41.86; MACD death_cross; MA trend mixed; ATR 1.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9107,
            "reason": "realized volatility proxy 1.95%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.47M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical convergence falls short of the required threshold (2 of 3). Moving averages remain mixed, MACD shows a death cross but lacks follow-through, and neutral funding/OI alongsi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "efd50ae6c01e34853c6822b87470fc55a63d8723e4b64bb7f69440c24b79b14d"
    },
    {
      "cycleId": "20260716-142826118Z-b112a60c8e",
      "file": "receipts/cycles/20260716-142826118Z-b112a60c8e.json",
      "ts": "2026-07-16T14:28:26.118Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2584,
      "counterfactualRawReturnPct": 0.2584,
      "rawDirection": "long",
      "maxAdversePct": 1.3156,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T14:25:56.097Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 58.87; MACD golden_cross; MA trend mixed; ATR 1.54%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8891,
            "reason": "realized volatility proxy 2.42%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0072%, open interest 753.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed signals prevent directional convergence: short-term momentum is bearish (-2.35% 24h) while MACD and agent technical verdict remain bullish. Neutral derivatives positioning and absent ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b112a60c8e98a7881de51674c02a72b4f017b7de196a53838c128795eb91f8b4"
    },
    {
      "cycleId": "20260716-142741213Z-88b5829e10",
      "file": "receipts/cycles/20260716-142741213Z-88b5829e10.json",
      "ts": "2026-07-16T14:27:41.213Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T14:25:55.336Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.27; MACD golden_cross; MA trend mixed; ATR 1.05%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9313,
            "reason": "realized volatility proxy 1.50%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0093%, open interest 34.75K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold of 3 is unmet with only 1 bullish and 1 bearish signal active. Market is range-bound with balanced derivatives positioning and conflicting momentum (MACD golden cross ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "88b5829e103308fb0f6f89bf4946f5ea9cd1e0104ef2b0e314077e567225e24f"
    },
    {
      "cycleId": "20260716-142710917Z-2ee99316df",
      "file": "receipts/cycles/20260716-142710917Z-2ee99316df.json",
      "ts": "2026-07-16T14:27:10.917Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0654,
      "rawDirection": "short",
      "maxAdversePct": 4.9708,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T14:26:29.455Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 45.91; MACD death_cross; MA trend mixed; ATR 1.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9128,
            "reason": "realized volatility proxy 1.90%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only two of the three required converging signals are present. Technicals lean bearish (MACD death cross, price below key MAs, RSI neutral-low), but derivatives sentiment and funding are ne..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2ee99316df0b8dc14d0e06209ace98d9f7568b1de0a6579b722f7d91b18370c1"
    },
    {
      "cycleId": "20260716-102403416Z-16c4cc1fe0",
      "file": "receipts/cycles/20260716-102403416Z-16c4cc1fe0.json",
      "ts": "2026-07-16T10:24:03.416Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0207,
      "rawDirection": "short",
      "maxAdversePct": 4.1886,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T10:21:54.882Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 43.42; MACD death_cross; MA trend mixed; ATR 1.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8939,
            "reason": "realized volatility proxy 2.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.49M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical signals (MACD death cross, negative 24h/72h momentum, Agent Hub bearish verdict) are present but only 2 signals converge, falling short of the 3 required for trade executi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "16c4cc1fe065d93f8591c7a846ee125fb666a03dd8bdf6cfe35a930a20c07d79"
    },
    {
      "cycleId": "20260716-102342781Z-3d6712e135",
      "file": "receipts/cycles/20260716-102342781Z-3d6712e135.json",
      "ts": "2026-07-16T10:23:42.781Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T10:21:53.790Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.44; MACD golden_cross; MA trend mixed; ATR 1.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9125,
            "reason": "realized volatility proxy 1.91%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0089%, open interest 34.82K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold is unmet (1 bullish vs 3 required for trade). BTCUSDT is trading in a tight range near $64.17K, sitting directly under immediate resistance at $64.22K-$64.42K. Technic..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3d6712e135adfd8b4cd3ff34e3047ebfb8683c5ab1cf3082d07ec84053767f2e"
    },
    {
      "cycleId": "20260716-102304233Z-a54299650a",
      "file": "receipts/cycles/20260716-102304233Z-a54299650a.json",
      "ts": "2026-07-16T10:23:04.233Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2616,
      "counterfactualRawReturnPct": 0.2616,
      "rawDirection": "long",
      "maxAdversePct": 1.3379,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T10:22:26.816Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 59.52; MACD golden_cross; MA trend mixed; ATR 1.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8435,
            "reason": "realized volatility proxy 3.42%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0099%, open interest 747.4K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Uptrend regime and MACD golden cross suggest underlying strength, but convergence requirements are unmet (2/3 bullish signals needed). Short-term momentum is neutral, derivatives positionin..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a54299650ae7b23fe9868d288677179d365795e07fdf9bdf6ebc2006867a6ed1"
    },
    {
      "cycleId": "20260716-063556454Z-bb82445c18",
      "file": "receipts/cycles/20260716-063556454Z-bb82445c18.json",
      "ts": "2026-07-16T06:35:56.454Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0344,
      "rawDirection": "short",
      "maxAdversePct": 3.0188,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T06:33:27.726Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 52.02; MACD death_cross; MA trend mixed; ATR 1.45%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.901,
            "reason": "realized volatility proxy 2.16%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0049%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (only 1 of 3 required signals align). SOL is range-bound with near-zero momentum, RSI at 52, mixed MA trend, and balanced derivatives funding/OI. No qualitative ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bb82445c18740f9c463951b42479f29e747d30e63dbecacf13d662468c8d8fd4"
    },
    {
      "cycleId": "20260716-063520297Z-6bf74076cf",
      "file": "receipts/cycles/20260716-063520297Z-6bf74076cf.json",
      "ts": "2026-07-16T06:35:20.297Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1017,
      "rawDirection": "long",
      "maxAdversePct": 2.1493,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T06:33:26.257Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 58.13; MACD golden_cross; MA trend mixed; ATR 0.99%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9172,
            "reason": "realized volatility proxy 1.81%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0064%, open interest 35.18K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is range-bound with neutral short-term momentum and balanced derivatives positioning. Only one technical indicator shows a bullish bias, failing the 3-signal convergence threshold r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6bf74076cfe4683f02b96057658394451bea366057bd550d663626a3a441e947"
    },
    {
      "cycleId": "20260716-063442999Z-bdda39d626",
      "file": "receipts/cycles/20260716-063442999Z-bdda39d626.json",
      "ts": "2026-07-16T06:34:42.999Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.68,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2448,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.315,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T06:33:59.945Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 70.85; MACD golden_cross; MA trend bull; ATR 1.45%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8503,
            "reason": "realized volatility proxy 3.27%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0091%, open interest 743.89K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.68,
            "reason": "Convergence threshold met with 3 aligned bullish signals. ETH exhibits confirmed uptrend regime, positive 24h/72h momentum, a 4h MACD golden cross, and price trading above key moving averag..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "bdda39d6262819c19a1ef85009fc1653aef0e547b284335090ef4887ee830175"
    },
    {
      "cycleId": "20260716-034359493Z-fcf9895b99",
      "file": "receipts/cycles/20260716-034359493Z-fcf9895b99.json",
      "ts": "2026-07-16T03:43:59.493Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0324,
      "rawDirection": "short",
      "maxAdversePct": 3.4411,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T03:41:30.563Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 49.16; MACD death_cross; MA trend mixed; ATR 1.46%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9039,
            "reason": "realized volatility proxy 2.10%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0067%, open interest 4.27M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical signals (MACD death cross, neutral RSI) are present but fail the convergence threshold (2/3 bearish count required). Price remains trapped in a range with balanced derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "fcf9895b999e4c666d7d976aa68d282997531919944670c8e95ef400ad1b9206"
    },
    {
      "cycleId": "20260716-034316840Z-75df97ff05",
      "file": "receipts/cycles/20260716-034316840Z-75df97ff05.json",
      "ts": "2026-07-16T03:43:16.840Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1203,
      "counterfactualRawReturnPct": 0.1203,
      "rawDirection": "long",
      "maxAdversePct": 1.541,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T03:41:28.621Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.28; MACD golden_cross; MA trend mixed; ATR 1.02%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9177,
            "reason": "realized volatility proxy 1.80%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0057%, open interest 35.26K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only 1 of the 3 required converging signals is present. The asset remains range-bound with neutral derivatives positioning, unclear market intel, and conflicting technicals (MACD golden cro..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "75df97ff05d2bd97e0b952974ff8ff1e7c192049f102920e263c9e4234e57b9b"
    },
    {
      "cycleId": "20260716-034244624Z-843b339120",
      "file": "receipts/cycles/20260716-034244624Z-843b339120.json",
      "ts": "2026-07-16T03:42:44.624Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.0371,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.8542,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-16T03:42:02.997Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 71.15; MACD golden_cross; MA trend bull; ATR 1.50%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8512,
            "reason": "realized volatility proxy 3.25%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0059%, open interest 741.66K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Uptrend confirmed by 3 converging bullish signals: positive 24h/72h momentum, regime trend confirmation, and a MACD golden cross with price above all major MAs. Balanced derivatives positio..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "843b33912060f199d3c10c09d71d31ef95604c2d037c5b22ed465b1f4058acdb"
    },
    {
      "cycleId": "20260715-211838060Z-88f28ca20b",
      "file": "receipts/cycles/20260715-211838060Z-88f28ca20b.json",
      "ts": "2026-07-15T21:18:38.060Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.028,
      "rawDirection": "short",
      "maxAdversePct": 2.7722,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T21:16:27.932Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 52.28; MACD death_cross; MA trend mixed; ATR 1.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9018,
            "reason": "realized volatility proxy 2.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0082%, open interest 4.11M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack convergence with only one bearish technical read against a range-bound regime, neutral momentum, and balanced derivatives positioning. Fails the required three-signal threshold..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "88f28ca20b5e5b36f41f26c45c99964756b9e88222e656aae5a2ee4d99712c57"
    },
    {
      "cycleId": "20260715-211802331Z-bcb762dee1",
      "file": "receipts/cycles/20260715-211802331Z-bcb762dee1.json",
      "ts": "2026-07-15T21:18:02.331Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0707,
      "rawDirection": "long",
      "maxAdversePct": 3.0457,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T21:16:26.115Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 59.80; MACD golden_cross; MA trend mixed; ATR 1.02%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9162,
            "reason": "realized volatility proxy 1.83%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0009%, open interest 34.97K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 bullish signal against the 3 required for execution. Momentum is muted (24h +0.07%), the market regime is ranging, and moving averages are mixed desp..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bcb762dee10fd5161c4ef124c3a61142a15639d714125b72cc25ea610de6b8d0"
    },
    {
      "cycleId": "20260715-211733081Z-ea165e92c7",
      "file": "receipts/cycles/20260715-211733081Z-ea165e92c7.json",
      "ts": "2026-07-15T21:17:33.081Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.68,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2448,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 3.2248,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T21:17:00.086Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 72.29; MACD golden_cross; MA trend bull; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8485,
            "reason": "realized volatility proxy 3.30%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0058%, open interest 728.21K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.68,
            "reason": "Three converging bullish signals confirm a strong uptrend regime, supported by a MACD golden cross, price holding above all key moving averages, and robust 72-hour momentum (+6.59%). While ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "ea165e92c7f9b82463779b7f4f133d6456999988f463355a8b60a12c20f2648d"
    },
    {
      "cycleId": "20260715-174255174Z-86a094a80f",
      "file": "receipts/cycles/20260715-174255174Z-86a094a80f.json",
      "ts": "2026-07-15T17:42:55.174Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.0038,
      "counterfactualRawReturnPct": -0.0038,
      "rawDirection": "short",
      "maxAdversePct": 1.7477,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T17:40:42.649Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 54.87; MACD death_cross; MA trend mixed; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8998,
            "reason": "realized volatility proxy 2.19%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0029%, open interest 4.04M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is trading in a range-bound regime with muted momentum and balanced derivatives positioning. Only one bearish technical reading is active, which fails to meet the three-signal conve..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "86a094a80f1b3778840b4c0a3344ca9c7c73e53739620544fc22a794dfe08ada"
    },
    {
      "cycleId": "20260715-174223391Z-d21d8b2845",
      "file": "receipts/cycles/20260715-174223391Z-d21d8b2845.json",
      "ts": "2026-07-15T17:42:23.391Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T17:40:41.478Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 61.90; MACD golden_cross; MA trend bull; ATR 1.07%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9158,
            "reason": "realized volatility proxy 1.84%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0008%, open interest 35.24K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "All available signals are classified as neutral or unclear, yielding zero convergent directional counts and failing the minimum threshold of 3 required for trade execution. Despite isolated..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d21d8b28455379260f51018cf4d7c02d0373aa72b273b172bf6de04c77fbed75"
    },
    {
      "cycleId": "20260715-174153785Z-bf3821adc8",
      "file": "receipts/cycles/20260715-174153785Z-bf3821adc8.json",
      "ts": "2026-07-15T17:41:53.785Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.27,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 3.9908,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T17:41:14.484Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 72.18; MACD golden_cross; MA trend bull; ATR 1.58%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8463,
            "reason": "realized volatility proxy 3.35%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0078%, open interest 762.79K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Convergence threshold met with 3 aligned bullish signals in a confirmed uptrend regime. Positive 24h/72h momentum (2.62%/5.62%) aligns with a MACD golden cross, bullish MA alignment, and co..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "bf3821adc8ef21c37c528b84f0b0ce21b1bd254575c66d13475e8c9e452574bb"
    },
    {
      "cycleId": "20260715-141603445Z-baf41c6511",
      "file": "receipts/cycles/20260715-141603445Z-baf41c6511.json",
      "ts": "2026-07-15T14:16:03.445Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.037,
      "rawDirection": "long",
      "maxAdversePct": 4.4498,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T14:13:29.331Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 58.89; MACD death_cross; MA trend mixed; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8928,
            "reason": "realized volatility proxy 2.34%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0064%, open interest 4.02M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bullish signal vs. 3 required). SOLUSDT is range-bound with mixed technicals: RSI neutral, MACD showing a death cross, and price consolidating near overhead r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "baf41c65114d802a94f8ae966dd1c8cd185c5a978e72e0a1000ef14fee7d9940"
    },
    {
      "cycleId": "20260715-141531383Z-d4f4b64bca",
      "file": "receipts/cycles/20260715-141531383Z-d4f4b64bca.json",
      "ts": "2026-07-15T14:15:31.383Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0717,
      "rawDirection": "long",
      "maxAdversePct": 3.6472,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T14:13:28.088Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 65.87; MACD golden_cross; MA trend bull; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9119,
            "reason": "realized volatility proxy 1.92%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0078%, open interest 35.68K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is trading in a range-bound regime near 65.3k with only 1 of the 3 required convergence signals confirmed. While technical momentum is mildly positive, macro, news, and sentiment fe..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d4f4b64bca8cb7e2e10fc8f6f7ec56c7bb6d1c13fb0a38ac9cbf42d41718c497"
    },
    {
      "cycleId": "20260715-141447037Z-79fd39fd97",
      "file": "receipts/cycles/20260715-141447037Z-79fd39fd97.json",
      "ts": "2026-07-15T14:14:47.037Z",
      "symbol": "ETHUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.216,
      "counterfactualRawReturnPct": 0.6526,
      "rawDirection": "long",
      "maxAdversePct": 4.0093,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T14:14:01.080Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 75.08; MACD golden_cross; MA trend bull; ATR 1.58%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8423,
            "reason": "realized volatility proxy 3.44%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0066%, open interest 766.28K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6,
            "reason": "Technical signals converge bullish with a confirmed uptrend regime, positive 24h/72h momentum, and a MACD golden cross. Derivatives positioning is balanced and neutral macro context avoids ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "79fd39fd97123f9cd8132ca999bbe0e5c7fbb0ee7b8bc9bb1aae61a13b35199c"
    },
    {
      "cycleId": "20260715-101851620Z-499d315931",
      "file": "receipts/cycles/20260715-101851620Z-499d315931.json",
      "ts": "2026-07-15T10:18:51.620Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T10:16:21.321Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 54.70; MACD death_cross; MA trend mixed; ATR 1.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8892,
            "reason": "realized volatility proxy 2.42%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0080%, open interest 4M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bullish vs 1 bearish; requires 3). Market is in a range regime with conflicting technicals: short-term bullish momentum is offset by a 4h MACD death ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "499d3159312245d26ac73d018ea698f694c4aaf887e1566bd68b093e863c82d2"
    },
    {
      "cycleId": "20260715-101811796Z-ab21e5294f",
      "file": "receipts/cycles/20260715-101811796Z-ab21e5294f.json",
      "ts": "2026-07-15T10:18:11.796Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0481,
      "rawDirection": "long",
      "maxAdversePct": 3.4117,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T10:16:19.831Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 61.69; MACD golden_cross; MA trend bull; ATR 1.04%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9084,
            "reason": "realized volatility proxy 2.00%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.51K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "While 4h technicals show a strong bullish setup with a MACD golden cross and price above key moving averages, the broader regime is ranging and derivatives sentiment is neutral. The converg..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ab21e5294f8c18e5f2beb522dd662f4c950ce903b94f798a58f643c043f748c7"
    },
    {
      "cycleId": "20260715-101737933Z-bad5706791",
      "file": "receipts/cycles/20260715-101737933Z-bad5706791.json",
      "ts": "2026-07-15T10:17:37.933Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1699,
      "rawDirection": "long",
      "maxAdversePct": 3.22,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T10:16:53.422Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 68.25; MACD golden_cross; MA trend bull; ATR 1.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8563,
            "reason": "realized volatility proxy 3.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0060%, open interest 794.38K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical momentum exists but fails to meet the 3-signal convergence requirement (currently 2/3). The regime remains range-bound, derivatives positioning is neutral, and macro/news ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bad57067911cd2867858f749d046e07cfe9a6a8781ec5a580390089f9a16a969"
    },
    {
      "cycleId": "20260715-063240393Z-b5be5f359e",
      "file": "receipts/cycles/20260715-063240393Z-b5be5f359e.json",
      "ts": "2026-07-15T06:32:40.393Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0856,
      "rawDirection": "long",
      "maxAdversePct": 3.4029,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T06:30:05.062Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 59.38; MACD death_cross; MA trend mixed; ATR 1.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8913,
            "reason": "realized volatility proxy 2.37%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0092%, open interest 3.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish signal vs. 3 required). SOLUSDT trades in a defined range at 78.31 with neutral RSI, a MACD death cross, mixed moving averages, and balanced derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b5be5f359e8a720ea283a0cdddf265611a3b1b148e82916eb5cf9a4b3d20db40"
    },
    {
      "cycleId": "20260715-063204181Z-6d3d6455f6",
      "file": "receipts/cycles/20260715-063204181Z-6d3d6455f6.json",
      "ts": "2026-07-15T06:32:04.181Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0.15,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0622,
      "rawDirection": "long",
      "maxAdversePct": 3.3516,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T06:30:03.206Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 64.25; MACD golden_cross; MA trend bull; ATR 1.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9088,
            "reason": "realized volatility proxy 1.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0087%, open interest 35.53K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.15,
            "reason": "Technical indicators show bullish momentum with a MACD golden cross and price above local resistance, but the regime is explicitly range-bound with balanced derivatives positioning and abse..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6d3d6455f6d9feb6652284b1d8e5526fa86e663e8ec942e29a3e9b73e9b528da"
    },
    {
      "cycleId": "20260715-063118899Z-9d82a1e994",
      "file": "receipts/cycles/20260715-063118899Z-9d82a1e994.json",
      "ts": "2026-07-15T06:31:18.899Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.27,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 3.1363,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T06:30:37.407Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 69.63; MACD golden_cross; MA trend bull; ATR 1.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8566,
            "reason": "realized volatility proxy 3.13%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0094%, open interest 686.33K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Uptrend regime confirmed with 3/3 required bullish convergence signals met. Strong 24h momentum (+5.89%), MACD golden cross, and price holding above key moving averages align for upside. Ba..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "9d82a1e994eae1f3a6c4f15011db2e1fdb702bed102e53db4e0da3197ff88761"
    },
    {
      "cycleId": "20260715-034129546Z-5c36bc8271",
      "file": "receipts/cycles/20260715-034129546Z-5c36bc8271.json",
      "ts": "2026-07-15T03:41:29.546Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0636,
      "rawDirection": "long",
      "maxAdversePct": 3.0539,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T03:39:09.848Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 54.90; MACD death_cross; MA trend mixed; ATR 1.51%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8909,
            "reason": "realized volatility proxy 2.38%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0079%, open interest 3.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Trade convergence threshold of 3 is unmet (1 bullish, 0 bearish). Technicals on the 4H chart are NEUTRAL with a MACD death cross, mixed moving averages, and RSI at 54.90. Market regime is r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5c36bc8271aa7b40ed0c9e3c9c10b733ee13b656adf7ed6c8376808875ab4726"
    },
    {
      "cycleId": "20260715-034100314Z-39e07a50fb",
      "file": "receipts/cycles/20260715-034100314Z-39e07a50fb.json",
      "ts": "2026-07-15T03:41:00.314Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0446,
      "rawDirection": "long",
      "maxAdversePct": 3.3308,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T03:39:08.309Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 61.30; MACD golden_cross; MA trend bull; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9093,
            "reason": "realized volatility proxy 1.98%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.41K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show positive momentum and a MACD golden cross, but trade convergence requirements are unmet with only 1 of 3 required bullish signals counted. The asset remains in a r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "39e07a50fb8f6476a89cfd3eca78518ddeac6d656499e895266765a12a0072f7"
    },
    {
      "cycleId": "20260715-034025627Z-5c64ca5c98",
      "file": "receipts/cycles/20260715-034025627Z-5c64ca5c98.json",
      "ts": "2026-07-15T03:40:25.627Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1519,
      "rawDirection": "long",
      "maxAdversePct": 3.0342,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-15T03:39:42.030Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 66.45; MACD golden_cross; MA trend bull; ATR 1.53%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8569,
            "reason": "realized volatility proxy 3.12%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0084%, open interest 680.74K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Strong technical momentum (MACD golden cross, bullish MA stack, positive 24h/72h momentum) is present, but the convergence framework requires 3 aligned signals and currently only 2 bullish ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5c64ca5c981f028ebd7157204ac0db77b94aadbdb97981b2f8b43fe31c5b09b7"
    },
    {
      "cycleId": "20260714-211903367Z-94d494250c",
      "file": "receipts/cycles/20260714-211903367Z-94d494250c.json",
      "ts": "2026-07-14T21:19:03.367Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T21:16:47.153Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 53.32; MACD death_cross; MA trend mixed; ATR 1.49%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8758,
            "reason": "realized volatility proxy 2.71%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 3.99M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails to meet the required threshold of 3. Current positioning shows a 1-1 split between short-term bullish momentum and bearish technicals (MACD death cross, mixed MAs)...."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "94d494250cdb0852ac0ba3c5fbc50f15e68ff96b7e875d608b08e085fc831771"
    },
    {
      "cycleId": "20260714-211833722Z-6f1f640f5f",
      "file": "receipts/cycles/20260714-211833722Z-6f1f640f5f.json",
      "ts": "2026-07-14T21:18:33.722Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0507,
      "rawDirection": "long",
      "maxAdversePct": 3.1036,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T21:16:45.797Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 62.94; MACD death_cross; MA trend mixed; ATR 1.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8996,
            "reason": "realized volatility proxy 2.19%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0061%, open interest 35.48K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and sentiment signals fail to meet the 3-signal convergence threshold required for entry. Despite positive 24h momentum, broader technicals are neutral with a MACD death cross and..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6f1f640f5f017e576e07a987eb63130674fc8ca08f8984ce0383423d97f49196"
    },
    {
      "cycleId": "20260714-211755761Z-b184632683",
      "file": "receipts/cycles/20260714-211755761Z-b184632683.json",
      "ts": "2026-07-14T21:17:55.761Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.2024,
      "rawDirection": "long",
      "maxAdversePct": 2.1739,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T21:17:19.103Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 71.92; MACD golden_cross; MA trend bull; ATR 1.45%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8442,
            "reason": "realized volatility proxy 3.40%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0027%, open interest 781.28K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish convergence count (2) is below the required threshold (3) for trade execution. Despite positive momentum and a MACD golden cross, price trades above the upper Bollinger band with an..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b1846326831b18824b8ababd746f755b81e989ca1481eaf227bca258a9d9294f"
    },
    {
      "cycleId": "20260714-173755549Z-da74918bc8",
      "file": "receipts/cycles/20260714-173755549Z-da74918bc8.json",
      "ts": "2026-07-14T17:37:55.549Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T17:35:49.906Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.15; MACD death_cross; MA trend mixed; ATR 1.57%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.874,
            "reason": "realized volatility proxy 2.75%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.02M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals are split with only one bullish and one bearish technical reading, while market intel is unclear and derivatives positioning remains balanced. The current range-bound regime and lac..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "da74918bc806ded5c49fa4e1ce733750b75b873df44029468100eef2b4c1b12a"
    },
    {
      "cycleId": "20260714-173730862Z-03e339dffc",
      "file": "receipts/cycles/20260714-173730862Z-03e339dffc.json",
      "ts": "2026-07-14T17:37:30.862Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T17:35:48.670Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 61.08; MACD death_cross; MA trend mixed; ATR 1.08%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8976,
            "reason": "realized volatility proxy 2.23%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0004%, open interest 35.45K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence is insufficient with only one bullish and one bearish technical indicator against a required threshold of three. BTCUSDT remains range-bound with balanced derivatives fun..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "03e339dffc7e36aff2f5f0bfc520ad646afe37c07e3d30b9e46aa8b26a93e8ba"
    },
    {
      "cycleId": "20260714-173657606Z-d50fc5ffef",
      "file": "receipts/cycles/20260714-173657606Z-d50fc5ffef.json",
      "ts": "2026-07-14T17:36:57.606Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0944,
      "rawDirection": "long",
      "maxAdversePct": 4.1682,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T17:36:21.736Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 68.74; MACD golden_cross; MA trend bull; ATR 1.53%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8428,
            "reason": "realized volatility proxy 3.43%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0082%, open interest 765.96K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum shows a MACD golden cross and positive 24h/72h gains, but convergence criteria are unmet. Only 1 out of 4 real signals aligns bullish against a required threshold of 3. Q..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d50fc5ffefadf6c8bfcb76cd18d0cda0cb9839809f8b4795ab2f3d3ed286a1bd"
    },
    {
      "cycleId": "20260714-141811237Z-ade778a839",
      "file": "receipts/cycles/20260714-141811237Z-ade778a839.json",
      "ts": "2026-07-14T14:18:11.237Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T14:15:57.982Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.40; MACD death_cross; MA trend mixed; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8755,
            "reason": "realized volatility proxy 2.72%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0081%, open interest 4.07M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met: only one bullish and one bearish technical signal are present against a required count of three. Price remains locked in a range-bound regime near 76.82 with ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ade778a839ff49f05fc305ebb06fcccd01046aea42d508d0f443997f778e3a76"
    },
    {
      "cycleId": "20260714-141738656Z-d5f7e50903",
      "file": "receipts/cycles/20260714-141738656Z-d5f7e50903.json",
      "ts": "2026-07-14T14:17:38.656Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T14:15:56.317Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 57.61; MACD death_cross; MA trend mixed; ATR 1.01%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9039,
            "reason": "realized volatility proxy 2.10%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0035%, open interest 35.32K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is unmet (1 bullish vs 1 bearish vs 2 neutral). Technicals show conflicting momentum: short-term 24h upside is offset by a 4h MACD death cross and mixed moving ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d5f7e50903bd66b4685a26f53b75cda86cdcc83cd97d64fe5be8efe3b1125ca0"
    },
    {
      "cycleId": "20260714-141706332Z-6a88a5822a",
      "file": "receipts/cycles/20260714-141706332Z-6a88a5822a.json",
      "ts": "2026-07-14T14:17:06.332Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0933,
      "rawDirection": "long",
      "maxAdversePct": 4.1009,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T14:16:30.202Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 70.07; MACD golden_cross; MA trend mixed; ATR 1.56%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8439,
            "reason": "realized volatility proxy 3.41%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0048%, open interest 764.58K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical signals (2) fall short of the 3 required for convergence. Price is extended in a range-bound regime with RSI overbought near 70 and balanced derivatives positioning, offer..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6a88a5822a4f4992f1bab98c215c530005c1dd9b5e317ae3201bf1d06f1d0285"
    },
    {
      "cycleId": "20260714-101408475Z-ab2af685f3",
      "file": "receipts/cycles/20260714-101408475Z-ab2af685f3.json",
      "ts": "2026-07-14T10:14:08.475Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T10:12:00.588Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 36.45; MACD death_cross; MA trend bear; ATR 1.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.892,
            "reason": "realized volatility proxy 2.36%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0022%, open interest 4.39M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only one bearish and one bullish signal against a strict requirement of three. While MAs and MACD lean bearish, price remains trapped in a confirmed range w..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ab2af685f3348f5664c331ba94b9eafa90cc407761ae91e96cbb7f6c16fa19a2"
    },
    {
      "cycleId": "20260714-101336492Z-a9f2c734b0",
      "file": "receipts/cycles/20260714-101336492Z-a9f2c734b0.json",
      "ts": "2026-07-14T10:13:36.492Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0217,
      "rawDirection": "long",
      "maxAdversePct": 2.8536,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T10:11:59.695Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.77; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8941,
            "reason": "realized volatility proxy 2.31%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0023%, open interest 711.7K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 of 3 required bullish signals aligned. ETHUSDT is operating in a confirmed range regime with neutral 24h/72h momentum, balanced derivatives positioni..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a9f2c734b05cd973e8a0f8a75e5e1d5abd48a2a2d6b06fb45ab5cea9a2fa840b"
    },
    {
      "cycleId": "20260714-101304585Z-1622848c9c",
      "file": "receipts/cycles/20260714-101304585Z-1622848c9c.json",
      "ts": "2026-07-14T10:13:04.585Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0917,
      "counterfactualRawReturnPct": 0.0917,
      "rawDirection": "short",
      "maxAdversePct": 0.5078,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T10:12:32.763Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 42.69; MACD death_cross; MA trend mixed; ATR 0.92%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9229,
            "reason": "realized volatility proxy 1.68%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0013%, open interest 35.01K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is trading in a range-bound regime with mixed technicals (neutral RSI, MACD death cross but conflicting MA trends) and balanced derivatives positioning. Only one bearish signal is a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1622848c9c3fd51204137e4c110a623e87c5fda9eaccbc4bbd52e525a697a8b6"
    },
    {
      "cycleId": "20260714-063007229Z-d1730e7af4",
      "file": "receipts/cycles/20260714-063007229Z-d1730e7af4.json",
      "ts": "2026-07-14T06:30:07.229Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T06:27:43.829Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 35.66; MACD death_cross; MA trend bear; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8926,
            "reason": "realized volatility proxy 2.34%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0030%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is range-bound with insufficient signal convergence (1 bullish, 1 bearish vs required 3). Technicals lean bearish with a MACD death cross and price below key moving averages, but bala..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d1730e7af4e712ed89341db4597da09c8acb00a783dba987631273e8634cd18c"
    },
    {
      "cycleId": "20260714-062925514Z-9f34ce39dc",
      "file": "receipts/cycles/20260714-062925514Z-9f34ce39dc.json",
      "ts": "2026-07-14T06:29:25.514Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0349,
      "rawDirection": "long",
      "maxAdversePct": 2.9254,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T06:27:43.270Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 49.88; MACD golden_cross; MA trend mixed; ATR 1.35%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.894,
            "reason": "realized volatility proxy 2.31%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0001%, open interest 715.8K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Agent Hub technicals show a bullish MACD golden cross, but the required convergence threshold of 3 confirmed signals is not met (only 1 bullish signal vs 0 bearish). Momentum is slightly ne..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9f34ce39dc7c5bd313dac4b19e157410aa62454d332f5e975458276f7edaeb2e"
    },
    {
      "cycleId": "20260714-062845120Z-150290ff0c",
      "file": "receipts/cycles/20260714-062845120Z-150290ff0c.json",
      "ts": "2026-07-14T06:28:45.120Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0986,
      "counterfactualRawReturnPct": 0.0986,
      "rawDirection": "short",
      "maxAdversePct": 0.3979,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T06:28:15.943Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 41.79; MACD death_cross; MA trend mixed; ATR 0.95%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9232,
            "reason": "realized volatility proxy 1.68%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.01K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bearish vs 3 required). Market remains in a range-bound regime with balanced derivatives positioning and neutral momentum. The single bearish technic..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "150290ff0c38a44c8f082c28d84a27bd373ebe22a42cec2e192d0eded042fb94"
    },
    {
      "cycleId": "20260714-034049642Z-c57505249a",
      "file": "receipts/cycles/20260714-034049642Z-c57505249a.json",
      "ts": "2026-07-14T03:40:49.642Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1469,
      "counterfactualRawReturnPct": 0.1469,
      "rawDirection": "short",
      "maxAdversePct": 1.2998,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T03:38:37.299Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 33.61; MACD death_cross; MA trend bear; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8923,
            "reason": "realized volatility proxy 2.35%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0006%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show bearish momentum (MACD death cross, price below key MAs), but the convergence threshold is not met (1 bearish signal vs 3 required). Derivatives positioning is bal..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c57505249aea6818eae21bb278400ec2a390f2aafbb284b3a3f7d3b7ae52827c"
    },
    {
      "cycleId": "20260714-034015596Z-0ffb187bf4",
      "file": "receipts/cycles/20260714-034015596Z-0ffb187bf4.json",
      "ts": "2026-07-14T03:40:15.596Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.035,
      "rawDirection": "long",
      "maxAdversePct": 2.818,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T03:38:36.589Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 49.03; MACD golden_cross; MA trend mixed; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8926,
            "reason": "realized volatility proxy 2.34%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0019%, open interest 711.6K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market remains range-bound near 1782 with neutral momentum and balanced derivatives. A solitary 4h MACD golden cross is contradicted by neutral RSI (49.03), mixed moving averages, and uncle..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0ffb187bf4f0a6b6e096524dc0a51379d01a3eb47beb0912e3b57695bed9a8f0"
    },
    {
      "cycleId": "20260714-033943521Z-ef3c6ba512",
      "file": "receipts/cycles/20260714-033943521Z-ef3c6ba512.json",
      "ts": "2026-07-14T03:39:43.521Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1014,
      "counterfactualRawReturnPct": 0.1014,
      "rawDirection": "short",
      "maxAdversePct": 0.5444,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-14T03:39:09.347Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 39.53; MACD death_cross; MA trend mixed; ATR 0.99%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9227,
            "reason": "realized volatility proxy 1.69%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.06K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is range-bound near $62,514 with compressed volatility and balanced derivatives positioning. Only one bearish technical signal is active, falling short of the three convergent signals..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ef3c6ba512ce09152f0657e1a31387627b95b223e536cfd22e5a31b9d74fbca4"
    },
    {
      "cycleId": "20260713-211645629Z-d2134a2630",
      "file": "receipts/cycles/20260713-211645629Z-d2134a2630.json",
      "ts": "2026-07-13T21:16:45.629Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T21:14:12.481Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 31.22; MACD death_cross; MA trend bear; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8804,
            "reason": "realized volatility proxy 2.61%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0076%, open interest 4.58M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technicals display a strong bearish structure (price below lower Bollinger Band and all key MAs, MACD death cross, negative momentum), but qualitative convergence is absent. Derivatives are..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d2134a26309f5048a91961f2504af06d2bcc9ef03203e34e482e00922d47072d"
    },
    {
      "cycleId": "20260713-211601247Z-f6973b8463",
      "file": "receipts/cycles/20260713-211601247Z-f6973b8463.json",
      "ts": "2026-07-13T21:16:01.247Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T21:14:10.753Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 33.34; MACD golden_cross; MA trend mixed; ATR 1.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9234,
            "reason": "realized volatility proxy 1.67%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.9K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Conflicting technical signals prevent convergence: bearish 24-72h momentum clashes with an oversold 4h MACD golden cross. The asset is range-bound with neutral derivatives positioning and l..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f6973b8463762e68299960b218e391f80c445abb6b7d0aedd064c39bc16436d2"
    },
    {
      "cycleId": "20260713-211527353Z-cb92b46a92",
      "file": "receipts/cycles/20260713-211527353Z-cb92b46a92.json",
      "ts": "2026-07-13T21:15:27.353Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0763,
      "rawDirection": "short",
      "maxAdversePct": 2.755,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T21:14:44.616Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.06; MACD golden_cross; MA trend mixed; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.884,
            "reason": "realized volatility proxy 2.53%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0027%, open interest 701.95K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is confined to a range-bound regime with unmet convergence thresholds (1 bearish signal vs the 3 required for entry). Technicals show conflicting signals (neutral RSI and MACD golde..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cb92b46a925b7b303198dab74f24147ba4798040b2811700b4e5ee21c24e5318"
    },
    {
      "cycleId": "20260713-181415229Z-9012facae1",
      "file": "receipts/cycles/20260713-181415229Z-9012facae1.json",
      "ts": "2026-07-13T18:14:15.229Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T18:11:32.412Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 31.73; MACD death_cross; MA trend bear; ATR 1.62%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8832,
            "reason": "realized volatility proxy 2.55%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.6M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators lean bearish (MACD death cross, MA trend down, price below lower Bollinger Band), but signal convergence is insufficient with only one bearish signal versus the three r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9012facae1c2b4c7377c5c8e551903aa28f6d141ab55716ae1af1303a17b53cf"
    },
    {
      "cycleId": "20260713-181326792Z-7d69fd7612",
      "file": "receipts/cycles/20260713-181326792Z-7d69fd7612.json",
      "ts": "2026-07-13T18:13:26.792Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T18:11:31.290Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 32.28; MACD golden_cross; MA trend mixed; ATR 1.04%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9253,
            "reason": "realized volatility proxy 1.63%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.24K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with conflicting signals. Short-term momentum is bearish, but oversold RSI and a MACD golden cross hint at mean reversion. Range-bound regime and neutral derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7d69fd7612ec77352832810b1cde023afdae1c92b6851fc59f5e52476926eded"
    },
    {
      "cycleId": "20260713-181241875Z-ca19ffcf6f",
      "file": "receipts/cycles/20260713-181241875Z-ca19ffcf6f.json",
      "ts": "2026-07-13T18:12:41.875Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0783,
      "rawDirection": "short",
      "maxAdversePct": 3.1386,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T18:12:04.287Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 40.40; MACD golden_cross; MA trend mixed; ATR 1.44%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8888,
            "reason": "realized volatility proxy 2.43%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0045%, open interest 716.8K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETH is consolidating in a low-volatility range with conflicting indicators; negative short-term momentum is offset by a neutral RSI and a MACD golden cross. Only one bearish signal is prese..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ca19ffcf6f038d4364770578989360fecb2e28b9ccae816976603d660e4f9c3d"
    },
    {
      "cycleId": "20260713-151604980Z-951bc3fcec",
      "file": "receipts/cycles/20260713-151604980Z-951bc3fcec.json",
      "ts": "2026-07-13T15:16:04.980Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0832,
      "counterfactualRawReturnPct": 0.0832,
      "rawDirection": "short",
      "maxAdversePct": 1.6942,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T15:13:50.204Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 38.15; MACD death_cross; MA trend bear; ATR 1.56%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8875,
            "reason": "realized volatility proxy 2.46%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0094%, open interest 4.42M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators lean bearish, but the convergence threshold of 3 aligned signals is not met (current bearish count: 1). The market is in a range regime with balanced derivatives positi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "951bc3fcec58d0c50178bd2124f678015a1a3c3a03e9bc58bb39f1edfa860074"
    },
    {
      "cycleId": "20260713-151531366Z-181841f177",
      "file": "receipts/cycles/20260713-151531366Z-181841f177.json",
      "ts": "2026-07-13T15:15:31.366Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0224,
      "rawDirection": "short",
      "maxAdversePct": 3.2598,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T15:13:49.458Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 46.66; MACD golden_cross; MA trend mixed; ATR 1.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8923,
            "reason": "realized volatility proxy 2.35%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0047%, open interest 724.47K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with mixed technicals: neutral RSI (46.66) and a MACD golden cross offset by negative 24h momentum (-2.39%). Derivatives positioning is balanced. The convergence thres..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "181841f1777d76083536c5c7ec58c32d7080193056bd8ad3b12d7432c91ac5b9"
    },
    {
      "cycleId": "20260713-151456409Z-895d8b4be4",
      "file": "receipts/cycles/20260713-151456409Z-895d8b4be4.json",
      "ts": "2026-07-13T15:14:56.409Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0641,
      "counterfactualRawReturnPct": 0.0641,
      "rawDirection": "short",
      "maxAdversePct": 1.073,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T15:14:22.375Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 40.04; MACD golden_cross; MA trend mixed; ATR 1.01%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9288,
            "reason": "realized volatility proxy 1.55%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.86K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bearish technical vs 3 required). BTC is range-bound with mixed technicals (RSI 40, MACD golden cross, mixed MAs) and balanced derivatives. No macro ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "895d8b4be4616d6ade32cad67fef26e6615c7068867a3d9501d651580e54b1c3"
    },
    {
      "cycleId": "20260713-113324607Z-d8347c0e37",
      "file": "receipts/cycles/20260713-113324607Z-d8347c0e37.json",
      "ts": "2026-07-13T11:33:24.607Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1292,
      "counterfactualRawReturnPct": 0.1292,
      "rawDirection": "short",
      "maxAdversePct": 0,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T11:31:09.633Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 40.86; MACD death_cross; MA trend bear; ATR 1.53%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8944,
            "reason": "realized volatility proxy 2.30%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0009%, open interest 4.19M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold of 3 aligned signals is unmet; technicals lean bearish but derivatives and macro/sentiment are neutral, keeping the asset in a range regime without sufficient confirma..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d8347c0e371cecebaaf6accf862ecd25cc3596303b694a617b9d2ee9ac054168"
    },
    {
      "cycleId": "20260713-113246805Z-d39fc1b0c4",
      "file": "receipts/cycles/20260713-113246805Z-d39fc1b0c4.json",
      "ts": "2026-07-13T11:32:46.805Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0475,
      "rawDirection": "short",
      "maxAdversePct": 2.3623,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T11:31:08.933Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 47.81; MACD golden_cross; MA trend mixed; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8936,
            "reason": "realized volatility proxy 2.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0002%, open interest 727.21K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack convergence with only 1 bearish read against a required threshold of 3. ETH is trading in a range regime with neutral RSI (~47.8), mixed moving averages, and balanced derivativ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d39fc1b0c4ce09de9c8153ad71beef3aef44d12ed5dbcbfef934c8779e616898"
    },
    {
      "cycleId": "20260713-113211942Z-7ae55a3378",
      "file": "receipts/cycles/20260713-113211942Z-7ae55a3378.json",
      "ts": "2026-07-13T11:32:11.942Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0908,
      "counterfactualRawReturnPct": 0.0908,
      "rawDirection": "short",
      "maxAdversePct": 0.0641,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T11:31:41.586Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.48; MACD golden_cross; MA trend mixed; ATR 0.98%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.935,
            "reason": "realized volatility proxy 1.42%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0036%, open interest 34.5K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only one bearish signal is present against four real signals, failing to meet the required three-signal convergence threshold. Price is range-bound with neutral RSI, mixed moving averages, ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7ae55a337860d3ef534f796819b905f98b95ce3efb203fca795c40a615ce3ecd"
    },
    {
      "cycleId": "20260713-074439753Z-1c72d69383",
      "file": "receipts/cycles/20260713-074439753Z-1c72d69383.json",
      "ts": "2026-07-13T07:44:39.753Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1389,
      "counterfactualRawReturnPct": 0.1389,
      "rawDirection": "short",
      "maxAdversePct": 0.5821,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T07:42:35.971Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 41.17; MACD death_cross; MA trend mixed; ATR 1.57%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8946,
            "reason": "realized volatility proxy 2.30%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0027%, open interest 4.03M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Despite a single bearish technical verdict (MACD death cross, RSI 41.17), convergence rules are unmet. Only 1 of 4 real signals is bearish against the required threshold of 3. SOLUSDT is ra..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1c72d693833da31b5fc158a9cc1dbefef9095643bb7a4771e45ffe51ffc2a4cf"
    },
    {
      "cycleId": "20260713-074408953Z-6e696628ca",
      "file": "receipts/cycles/20260713-074408953Z-6e696628ca.json",
      "ts": "2026-07-13T07:44:08.953Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T07:42:35.171Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 49.49; MACD golden_cross; MA trend mixed; ATR 1.45%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8939,
            "reason": "realized volatility proxy 2.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0032%, open interest 720.11K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails with only 1 bullish and 1 bearish technical reading, well below the required 3-count threshold. Price is trapped in a range-bound regime with balanced derivatives p..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6e696628cad3ef8332f1c64be77738e979faed192dcea01d3e513eef6c04208d"
    },
    {
      "cycleId": "20260713-074342429Z-39e58eb89d",
      "file": "receipts/cycles/20260713-074342429Z-39e58eb89d.json",
      "ts": "2026-07-13T07:43:42.429Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0847,
      "counterfactualRawReturnPct": 0.0847,
      "rawDirection": "short",
      "maxAdversePct": 0.5176,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T07:43:08.081Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.37; MACD golden_cross; MA trend mixed; ATR 1.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.937,
            "reason": "realized volatility proxy 1.37%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.17K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is trading in a range with mixed technical structure. While 24h momentum is bearish, convergence requirements are not met (1 bearish signal vs 3 required). Neutral RSI, mixed moving ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "39e58eb89d70b633fa597b334fbefde0864834bbe661539096cba238097cf374"
    },
    {
      "cycleId": "20260713-040554781Z-2b6123d54e",
      "file": "receipts/cycles/20260713-040554781Z-2b6123d54e.json",
      "ts": "2026-07-13T04:05:54.781Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T04:03:25.105Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 35.85; MACD death_cross; MA trend mixed; ATR 1.50%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8968,
            "reason": "realized volatility proxy 2.25%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0059%, open interest 4.09M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is unmet (1 bearish, 1 bullish vs 3 required). While technicals show a mild bearish lean via MACD death cross and price below key MAs, the range-bound regime, b..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2b6123d54e47f7230dca3b097ffc203faaf0e9b7c3ef1476419c28f369da2f4f"
    },
    {
      "cycleId": "20260713-040510593Z-074e4141cf",
      "file": "receipts/cycles/20260713-040510593Z-074e4141cf.json",
      "ts": "2026-07-13T04:05:10.593Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T04:03:23.535Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 39.34; MACD golden_cross; MA trend mixed; ATR 0.95%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9386,
            "reason": "realized volatility proxy 1.34%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bullish vs 1 bearish against a 3-signal requirement). Price remains range-bound with conflicting 4h technicals: a MACD golden cross is offset by negative shor..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "074e4141cf4638cfe19591b93dc84ab0f82292036e6d1310a9aed1cb40893223"
    },
    {
      "cycleId": "20260713-040431154Z-0188cc2c5e",
      "file": "receipts/cycles/20260713-040431154Z-0188cc2c5e.json",
      "ts": "2026-07-13T04:04:31.154Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0201,
      "rawDirection": "short",
      "maxAdversePct": 4.2409,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-13T04:03:57.410Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 47.08; MACD golden_cross; MA trend mixed; ATR 1.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8956,
            "reason": "realized volatility proxy 2.28%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0023%, open interest 710.88K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT remains range-bound with mixed technicals and balanced derivatives positioning. Signal convergence is unmet (1 bearish vs 3 required) and no macro or news catalysts are present."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0188cc2c5eab900c2e6e323ca6a67b0ad14ee8b2debc6d8acfaf419c82521f6f"
    },
    {
      "cycleId": "20260712-211016950Z-3e6ad8d259",
      "file": "receipts/cycles/20260712-211016950Z-3e6ad8d259.json",
      "ts": "2026-07-12T21:10:16.950Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0216,
      "rawDirection": "short",
      "maxAdversePct": 2.1219,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T21:08:09.974Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.07; MACD death_cross; MA trend mixed; ATR 1.33%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9171,
            "reason": "realized volatility proxy 1.81%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.15M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators lean slightly bearish (MACD death cross, RSI 46.07) but fail to meet the mandatory 3-signal convergence threshold for trade execution. The market is trapped in a rangin..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3e6ad8d259100647cec0b4fba87671f735d9f0683ec1edb9e900f7a2514d87b1"
    },
    {
      "cycleId": "20260712-210948176Z-c67bd19b20",
      "file": "receipts/cycles/20260712-210948176Z-c67bd19b20.json",
      "ts": "2026-07-12T21:09:48.176Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T21:08:08.227Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 57.27; MACD golden_cross; MA trend bull; ATR 0.81%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9599,
            "reason": "realized volatility proxy 0.88%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0040%, open interest 34.34K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is range-bound with compressed volatility and balanced derivatives positioning. Despite structurally bullish technicals (MACD golden cross, price above key MAs), momentum is flat, marke..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c67bd19b208e34b70b980004de2f0424663089b257e3e4d72a844727289caedc"
    },
    {
      "cycleId": "20260712-210916305Z-825faeeae9",
      "file": "receipts/cycles/20260712-210916305Z-825faeeae9.json",
      "ts": "2026-07-12T21:09:16.305Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1735,
      "counterfactualRawReturnPct": 0.1735,
      "rawDirection": "long",
      "maxAdversePct": 0.434,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T21:08:42.258Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.36; MACD golden_cross; MA trend bull; ATR 1.19%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9223,
            "reason": "realized volatility proxy 1.70%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0014%, open interest 764.71K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence falls short of the required threshold (1 bullish vs 3 needed). Official technical verdict is neutral, regime is range-bound, derivatives positioning is balanced with slig..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "825faeeae93ea34f56ba5ceda8cedf465cd997b76bb0b2e82e0302a662b434e7"
    },
    {
      "cycleId": "20260712-172954032Z-7de5c82802",
      "file": "receipts/cycles/20260712-172954032Z-7de5c82802.json",
      "ts": "2026-07-12T17:29:54.032Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0345,
      "counterfactualRawReturnPct": 0.0345,
      "rawDirection": "short",
      "maxAdversePct": 1.9611,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T17:27:49.675Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 45.18; MACD death_cross; MA trend mixed; ATR 1.38%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9165,
            "reason": "realized volatility proxy 1.82%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0097%, open interest 4.19M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bearish signal vs 3 required). Price is choppy within a range-bound regime, technical momentum is mixed with a single 4h bearish verdict, and derivatives posi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7de5c828020d2b42d07307ca6ea1c3c931fc632f8d8e5601f6ccdf8f58e4d927"
    },
    {
      "cycleId": "20260712-172924842Z-23f7df5171",
      "file": "receipts/cycles/20260712-172924842Z-23f7df5171.json",
      "ts": "2026-07-12T17:29:24.842Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T17:27:48.247Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 56.63; MACD golden_cross; MA trend bull; ATR 0.85%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.959,
            "reason": "realized volatility proxy 0.90%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0061%, open interest 34.39K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Despite Agent Hub showing a strong bullish technical structure (MACD golden cross, aligned MAs, RSI neutral-bullish), the broader convergence framework registers zero confirmed directional ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "23f7df5171941b6479aaa86df27ed260297447d253edc66fbc1943b452452b4f"
    },
    {
      "cycleId": "20260712-172854718Z-854dbb594a",
      "file": "receipts/cycles/20260712-172854718Z-854dbb594a.json",
      "ts": "2026-07-12T17:28:54.718Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1618,
      "counterfactualRawReturnPct": 0.1618,
      "rawDirection": "long",
      "maxAdversePct": 0.6305,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T17:28:21.871Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.14; MACD golden_cross; MA trend bull; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9209,
            "reason": "realized volatility proxy 1.73%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0010%, open interest 772.05K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold is unmet with only 1 bullish signal against the required 3. Technical momentum is neutral within a range-bound regime, derivatives positioning is balanced with minimal..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "854dbb594a0628fff3b69b2658d1bba0c8636e5edf2fcca8a0f1cf2728deb12d"
    },
    {
      "cycleId": "20260712-140042364Z-9043a52fc2",
      "file": "receipts/cycles/20260712-140042364Z-9043a52fc2.json",
      "ts": "2026-07-12T14:00:42.364Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0225,
      "rawDirection": "short",
      "maxAdversePct": 2.6721,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T13:58:11.297Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 42.64; MACD death_cross; MA trend mixed; ATR 1.44%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9045,
            "reason": "realized volatility proxy 2.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0010%, open interest 4.2M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (2 bearish vs 3 required). SOLUSDT is range-bound with neutral derivatives positioning and weak downward momentum, lacking the qualitative confirmation ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9043a52fc20b91be3d866d9b3f4bd2e61f618de253709dc1eb9fefa3ce2c7e1b"
    },
    {
      "cycleId": "20260712-140009274Z-cafe034e4d",
      "file": "receipts/cycles/20260712-140009274Z-cafe034e4d.json",
      "ts": "2026-07-12T14:00:09.274Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0741,
      "counterfactualRawReturnPct": 0.0741,
      "rawDirection": "long",
      "maxAdversePct": 0.487,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T13:58:09.669Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.23; MACD golden_cross; MA trend mixed; ATR 0.88%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9483,
            "reason": "realized volatility proxy 1.13%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0068%, open interest 34.34K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet: only one independent signal leans bullish (Agent Hub MACD golden cross), while 24h momentum is flat, the market regime is explicitly range-bound, and derivative..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cafe034e4df8f4f8231cfbd48ab1e971db4a12f6c43d146a985a5d45a791e3b5"
    },
    {
      "cycleId": "20260712-135933906Z-00aae1cef5",
      "file": "receipts/cycles/20260712-135933906Z-00aae1cef5.json",
      "ts": "2026-07-12T13:59:33.906Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1533,
      "counterfactualRawReturnPct": 0.1533,
      "rawDirection": "long",
      "maxAdversePct": 0.4222,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T13:58:43.701Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.93; MACD golden_cross; MA trend mixed; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.914,
            "reason": "realized volatility proxy 1.88%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0002%, open interest 764.9K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Range-bound regime with neutral 24h momentum and balanced derivatives positioning. Convergence threshold requires 3 aligned signals, but only 2 bullish signals are present. Lack of news cat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "00aae1cef5d866e4f3494cc1d5c8d52cdce0f48e027bcb5225b1f0f55630234f"
    },
    {
      "cycleId": "20260712-100459515Z-56c3b21d85",
      "file": "receipts/cycles/20260712-100459515Z-56c3b21d85.json",
      "ts": "2026-07-12T10:04:59.515Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.138,
      "counterfactualRawReturnPct": 0.138,
      "rawDirection": "long",
      "maxAdversePct": 0.5532,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T10:02:31.235Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.83; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9116,
            "reason": "realized volatility proxy 1.93%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0001%, open interest 755.96K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETH is range-bound near 1801 with mixed technicals and balanced derivatives positioning. Signal convergence requires 3 aligned inputs, but only 1 bullish signal is present while the broader..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "56c3b21d855f2e3bdb304a7097d8f8e5ff28ed37817bbd96374c783e016ce0d5"
    },
    {
      "cycleId": "20260712-100425541Z-dac6c84ece",
      "file": "receipts/cycles/20260712-100425541Z-dac6c84ece.json",
      "ts": "2026-07-12T10:04:25.541Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.086,
      "counterfactualRawReturnPct": 0.086,
      "rawDirection": "long",
      "maxAdversePct": 0.1489,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T10:02:30.681Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.45; MACD golden_cross; MA trend mixed; ATR 0.93%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9476,
            "reason": "realized volatility proxy 1.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0055%, open interest 34.11K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only 1 of 4 real signals is bullish (MACD golden cross), while momentum is flat, derivatives positioning is balanced, and the broader market regime remains range-bound. The required 3-signa..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "dac6c84ece399c58d39a12012fd655cf851cb19afe500eedf75f96ade485c9fd"
    },
    {
      "cycleId": "20260712-100351532Z-98c131c9f7",
      "file": "receipts/cycles/20260712-100351532Z-98c131c9f7.json",
      "ts": "2026-07-12T10:03:51.532Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0475,
      "rawDirection": "short",
      "maxAdversePct": 2.6443,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T10:03:16.604Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 38.60; MACD death_cross; MA trend mixed; ATR 1.46%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9045,
            "reason": "realized volatility proxy 2.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0008%, open interest 4.18M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is unmet (2 bearish signals vs 3 required). SOL/USDT remains range-bound with weak downward momentum, neutral funding and open interest, and mixed moving averag..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "98c131c9f7a403560ad49de765441186d4713e4349b0b2762272e5584a5250da"
    },
    {
      "cycleId": "20260712-065012690Z-283ae77281",
      "file": "receipts/cycles/20260712-065012690Z-283ae77281.json",
      "ts": "2026-07-12T06:50:12.690Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0918,
      "counterfactualRawReturnPct": 0.0918,
      "rawDirection": "long",
      "maxAdversePct": 1.2627,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T06:47:53.831Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.74; MACD golden_cross; MA trend mixed; ATR 1.38%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.909,
            "reason": "realized volatility proxy 1.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0011%, open interest 754.02K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETH/USDT is range-bound near 1794 with immediate resistance at 1799-1801. Signal convergence fails as only 1 bullish indicator is present against the 3 required for a trade. Mixed MA trends..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "283ae77281f5a8a831002d471635ebe04c1ba363aa2ef2f2a71cefa569a793a3"
    },
    {
      "cycleId": "20260712-064935715Z-d16377f026",
      "file": "receipts/cycles/20260712-064935715Z-d16377f026.json",
      "ts": "2026-07-12T06:49:35.715Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0585,
      "counterfactualRawReturnPct": 0.0585,
      "rawDirection": "long",
      "maxAdversePct": 0.7004,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T06:47:52.985Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.50; MACD golden_cross; MA trend mixed; ATR 0.96%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9462,
            "reason": "realized volatility proxy 1.17%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0062%, open interest 34.06K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold requires 3 aligned signals but only 1 bullish technical signal is present; remaining feeds are neutral/unclear within a range-bound regime, indicating no high-probabil..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d16377f026b3b58e62b950f2c7862c64896cce91b01ccc3cd9d7eadc4c6d7e27"
    },
    {
      "cycleId": "20260712-064903684Z-427209b0f3",
      "file": "receipts/cycles/20260712-064903684Z-427209b0f3.json",
      "ts": "2026-07-12T06:49:03.684Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0944,
      "rawDirection": "short",
      "maxAdversePct": 2.0316,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T06:48:26.945Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 35.58; MACD death_cross; MA trend mixed; ATR 1.53%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9035,
            "reason": "realized volatility proxy 2.10%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0076%, open interest 4.15M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is range-bound at 76.22 with only 2 of the 3 required bearish signals converging. Technicals show mixed context (MACD death cross and price below lower Bollinger band, offset by neutr..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "427209b0f36da4c6d6a36259657d087984bc41d7f4c5836bb1da8dae561009f2"
    },
    {
      "cycleId": "20260712-040422775Z-624193f95b",
      "file": "receipts/cycles/20260712-040422775Z-624193f95b.json",
      "ts": "2026-07-12T04:04:22.775Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T04:02:04.161Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 58.80; MACD golden_cross; MA trend bull; ATR 1.28%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.91,
            "reason": "realized volatility proxy 1.96%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0004%, open interest 762.81K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Aggregated signal convergence is at zero, failing to meet the required threshold of three. Although raw 4h technicals show bullish elements like a MACD golden cross, the broader framework f..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "624193f95b9b8821a18e18d39e57d8038e755e6239247cc02dc1f1587bf9643b"
    },
    {
      "cycleId": "20260712-040347534Z-d17ad00ea0",
      "file": "receipts/cycles/20260712-040347534Z-d17ad00ea0.json",
      "ts": "2026-07-12T04:03:47.534Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T04:02:03.356Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 58.42; MACD golden_cross; MA trend bull; ATR 0.89%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9462,
            "reason": "realized volatility proxy 1.17%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0069%, open interest 34.08K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC remains trapped in a defined range with zero directional convergence across technical and sentiment feeds. While underlying moving averages and MACD show a bullish bias, realized volati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d17ad00ea06bc942ff68cf687eb56c0d95ae468fc609315b21438ae7ae21ddc4"
    },
    {
      "cycleId": "20260712-040311161Z-b9ee454f40",
      "file": "receipts/cycles/20260712-040311161Z-b9ee454f40.json",
      "ts": "2026-07-12T04:03:11.161Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0764,
      "counterfactualRawReturnPct": 0.0764,
      "rawDirection": "short",
      "maxAdversePct": 1.5374,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-12T04:02:37.437Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 39.35; MACD death_cross; MA trend mixed; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.904,
            "reason": "realized volatility proxy 2.10%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0070%, open interest 4.05M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show mild bearish pressure (MACD death cross, RSI 39.35, negative momentum) but fall short of the required convergence threshold (2 of 3 bearish signals). Market sentim..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b9ee454f406208e94783507d8c6d0c5cc97a76cb43c6102ea5a45b302cee4ec4"
    },
    {
      "cycleId": "20260711-211114794Z-5452e122fe",
      "file": "receipts/cycles/20260711-211114794Z-5452e122fe.json",
      "ts": "2026-07-11T21:11:14.794Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0222,
      "rawDirection": "short",
      "maxAdversePct": 2.4028,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T21:09:00.299Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.93; MACD death_cross; MA trend mixed; ATR 1.33%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9177,
            "reason": "realized volatility proxy 1.80%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.14M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is confined to a range-bound regime with minimal price momentum (24h +0.10%) and balanced derivatives positioning. The trade convergence threshold is not met, with only one bearish ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5452e122fefdbaa955799ae5d2ab5b4d42e64dadf5a5f298d2f678de0cce7354"
    },
    {
      "cycleId": "20260711-211043570Z-4544479835",
      "file": "receipts/cycles/20260711-211043570Z-4544479835.json",
      "ts": "2026-07-11T21:10:43.570Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T21:08:58.682Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 62.86; MACD golden_cross; MA trend bull; ATR 0.91%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9418,
            "reason": "realized volatility proxy 1.27%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 34.39K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met with 0 bullish and 0 bearish signals against the required 3. Despite isolated bullish technicals like a MACD golden cross and bullish MA alignment, the ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "45444798357be71bfc733e8ec268272a1ac54e2748080f42a45eff4903f969f6"
    },
    {
      "cycleId": "20260711-211012831Z-d53312a49d",
      "file": "receipts/cycles/20260711-211012831Z-d53312a49d.json",
      "ts": "2026-07-11T21:10:12.831Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.6561,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.2688,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T21:09:32.680Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 68.86; MACD golden_cross; MA trend bull; ATR 1.18%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9205,
            "reason": "realized volatility proxy 1.73%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0039%, open interest 762.93K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Uptrend regime confirmed with three converging bullish signals. Price holds above key moving averages (MA7, MA25, MA99), MACD confirms a golden cross, and momentum remains positive. Balance..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "d53312a49d110f437a4d349cf78b8ca774c6a2b7e5cfc42a347e81ebe96c4a9e"
    },
    {
      "cycleId": "20260711-172029034Z-ea42256f99",
      "file": "receipts/cycles/20260711-172029034Z-ea42256f99.json",
      "ts": "2026-07-11T17:20:29.034Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0279,
      "rawDirection": "short",
      "maxAdversePct": 2.9322,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T17:17:59.419Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.58; MACD death_cross; MA trend mixed; ATR 1.42%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9177,
            "reason": "realized volatility proxy 1.80%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.16M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is consolidating in a range-bound regime with weak momentum and balanced derivatives positioning. Although the technical suite highlights a bearish MACD death cross and mixed moving..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ea42256f99ff766d281c1339e510285f82ec5458eeb6b05cf46da91b6ddbe979"
    },
    {
      "cycleId": "20260711-171954378Z-dde2136ddd",
      "file": "receipts/cycles/20260711-171954378Z-dde2136ddd.json",
      "ts": "2026-07-11T17:19:54.378Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T17:17:57.995Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.92; MACD golden_cross; MA trend bull; ATR 0.95%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.942,
            "reason": "realized volatility proxy 1.27%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0017%, open interest 34.37K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "All active signals classify as neutral or unclear, resulting in zero bullish or bearish convergence against the required threshold of three. Price remains trapped in a range-bound regime wi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "dde2136ddd6fbac5b1678e4f20ade0c84012e1b81ac1c11e0e176ae4312a8729"
    },
    {
      "cycleId": "20260711-171913559Z-e3d6cb350b",
      "file": "receipts/cycles/20260711-171913559Z-e3d6cb350b.json",
      "ts": "2026-07-11T17:19:13.559Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.598,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.1303,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T17:18:31.683Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 67.24; MACD golden_cross; MA trend bull; ATR 1.23%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9199,
            "reason": "realized volatility proxy 1.75%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0003%, open interest 761.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Bullish regime confirmed by converging technical and market-intel signals (3/3 required). Price holds above all key moving averages with a 4H MACD golden cross, positive momentum, and RSI a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "e3d6cb350b0cda0c1546a91a318614c06f0d0db9a15e6da4de5faceeef43f2a8"
    },
    {
      "cycleId": "20260711-135915862Z-00392b797d",
      "file": "receipts/cycles/20260711-135915862Z-00392b797d.json",
      "ts": "2026-07-11T13:59:15.862Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0754,
      "rawDirection": "short",
      "maxAdversePct": 3.8285,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T13:57:02.500Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.21; MACD death_cross; MA trend mixed; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9172,
            "reason": "realized volatility proxy 1.81%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0097%, open interest 4.28M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence requirement is unmet (1 bearish vs 3 required). SOLUSDT remains in a defined range with neutral momentum, balanced derivatives positioning, and mixed technicals. Catalyst..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "00392b797d4e6fea8b9b997e9e021f181f0c99bcf649ac8a0bfda9bc84e9a16d"
    },
    {
      "cycleId": "20260711-135844071Z-f1586b5c1b",
      "file": "receipts/cycles/20260711-135844071Z-f1586b5c1b.json",
      "ts": "2026-07-11T13:58:44.071Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1653,
      "counterfactualRawReturnPct": 0.1653,
      "rawDirection": "long",
      "maxAdversePct": 0.0162,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T13:57:01.354Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 61.25; MACD golden_cross; MA trend bull; ATR 0.95%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9376,
            "reason": "realized volatility proxy 1.36%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0007%, open interest 34.4K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1/3 bullish signals required). Despite bullish 4h technicals (MACD cross, MA uptrend, price above mid-band), the broader regime remains range-bound with neutral..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f1586b5c1b8313ebe97a93eb49b4ab3fa3add35149dfda2790aa7277bd1ed6ff"
    },
    {
      "cycleId": "20260711-135808482Z-7aca54eb9c",
      "file": "receipts/cycles/20260711-135808482Z-7aca54eb9c.json",
      "ts": "2026-07-11T13:58:08.482Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1852,
      "counterfactualRawReturnPct": 0.1852,
      "rawDirection": "long",
      "maxAdversePct": 0.0993,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T13:57:34.551Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 62.34; MACD golden_cross; MA trend bull; ATR 1.20%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9196,
            "reason": "realized volatility proxy 1.75%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0044%, open interest 748.66K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Short-term momentum and moving averages lean bullish, but signal convergence fails to meet the required threshold (2 of 3). The market remains in a defined range regime with balanced deriva..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7aca54eb9cc048c2e5ba16421fb8dcdc01effdda9f59513a9ff540aa9585a946"
    },
    {
      "cycleId": "20260711-095257859Z-d858c48850",
      "file": "receipts/cycles/20260711-095257859Z-d858c48850.json",
      "ts": "2026-07-11T09:52:57.859Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T09:50:32.125Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 61.12; MACD golden_cross; MA trend bull; ATR 1.24%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9173,
            "reason": "realized volatility proxy 1.80%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0021%, open interest 737.41K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is trading in a range-bound regime near the 1801 resistance level with minimal momentum. Although 4h technicals show a MACD golden cross and bullish MA alignment, price action is ca..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d858c48850988cf940aade413f62fa94cb8e00e6ac03beef541c8e47b56892bf"
    },
    {
      "cycleId": "20260711-095215392Z-cb28fc0258",
      "file": "receipts/cycles/20260711-095215392Z-cb28fc0258.json",
      "ts": "2026-07-11T09:52:15.392Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T09:50:31.323Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.46; MACD golden_cross; MA trend bull; ATR 1.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.933,
            "reason": "realized volatility proxy 1.46%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0023%, open interest 34.22K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence metrics show zero confirmed bullish or bearish signals, failing the minimum threshold for entry. BTCUSDT is locked in a range regime with balanced derivatives positioning (neutr..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cb28fc0258c4029a6fb0a8bf7142978cf9814da5ae051b94ee5d50ea5db4489d"
    },
    {
      "cycleId": "20260711-095140860Z-a27df06e7a",
      "file": "receipts/cycles/20260711-095140860Z-a27df06e7a.json",
      "ts": "2026-07-11T09:51:40.860Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0204,
      "rawDirection": "short",
      "maxAdversePct": 2.7675,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T09:51:05.094Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.28; MACD death_cross; MA trend mixed; ATR 1.46%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9129,
            "reason": "realized volatility proxy 1.90%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0066%, open interest 4.22M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the required 3-point convergence threshold, with only 2 bearish indicators active within a defined range regime. Technicals show a MACD death cross but mixed moving ave..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a27df06e7a28c26ec2ed54d624aab4162e0e08a767c7ae8bab59cbb4dbffbead"
    },
    {
      "cycleId": "20260711-063005671Z-cefad75193",
      "file": "receipts/cycles/20260711-063005671Z-cefad75193.json",
      "ts": "2026-07-11T06:30:05.671Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1482,
      "counterfactualRawReturnPct": 0.1482,
      "rawDirection": "long",
      "maxAdversePct": 1.2942,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T06:28:04.700Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 61.46; MACD golden_cross; MA trend bull; ATR 1.31%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9174,
            "reason": "realized volatility proxy 1.80%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0010%, open interest 735.63K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only 1 bullish signal is confirmed against the 3 required for convergence. Price is testing range resistance near 1799-1801 with neutral derivatives positioning and no confirmed macro or ne..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cefad751936c65b8accc55ef3181408ea3709e7bd1f8e36d66af14e3fe49db0c"
    },
    {
      "cycleId": "20260711-062933835Z-0d65b1edae",
      "file": "receipts/cycles/20260711-062933835Z-0d65b1edae.json",
      "ts": "2026-07-11T06:29:33.835Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T06:28:04.137Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.93; MACD golden_cross; MA trend bull; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9331,
            "reason": "realized volatility proxy 1.46%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0010%, open interest 34.12K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence metrics show zero confirmed directional signals. Price remains range-bound with balanced derivatives positioning, neutral momentum, and no catalyst confirmation, failing the min..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0d65b1edae16a9f1022a3f87c9a3d4fed5d45f1b4efce7f9bd22b499e9ad3c6d"
    },
    {
      "cycleId": "20260711-062908182Z-2b9562d072",
      "file": "receipts/cycles/20260711-062908182Z-2b9562d072.json",
      "ts": "2026-07-11T06:29:08.182Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0363,
      "rawDirection": "short",
      "maxAdversePct": 3.1494,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T06:28:37.269Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.37; MACD death_cross; MA trend mixed; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9132,
            "reason": "realized volatility proxy 1.89%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.22M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical signals (MACD death cross, negative momentum) fail to meet the required 3-signal convergence threshold (2/3). The asset remains in a range-bound regime with neutral fundin..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2b9562d0722c63a9eebcc1e5884620f708176fbc20601f7151f05c0882e3fd6c"
    },
    {
      "cycleId": "20260711-034745336Z-e01277b4af",
      "file": "receipts/cycles/20260711-034745336Z-e01277b4af.json",
      "ts": "2026-07-11T03:47:45.336Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0974,
      "rawDirection": "long",
      "maxAdversePct": 2.3357,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T03:45:28.172Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.69; MACD golden_cross; MA trend bull; ATR 1.38%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.914,
            "reason": "realized volatility proxy 1.88%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0008%, open interest 730.72K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet: only 1 bullish signal aligns against the required 3. While technicals show upside momentum (golden cross, bull MA trend), the range-bound regime, unclear market..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e01277b4af3aa892816bc10b660c5f190879f0e25ae86708005999146a04b26f"
    },
    {
      "cycleId": "20260711-034711691Z-88982d2ea4",
      "file": "receipts/cycles/20260711-034711691Z-88982d2ea4.json",
      "ts": "2026-07-11T03:47:11.691Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T03:45:27.616Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.28; MACD golden_cross; MA trend bull; ATR 1.12%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.927,
            "reason": "realized volatility proxy 1.59%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0041%, open interest 34.16K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price remains trapped in a range regime with balanced derivatives positioning and absent macro/news catalysts. Although internal technicals show MA uptrend alignment and a MACD cross, the e..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "88982d2ea4408bb505e66e30811b483847ed8a9327f547e7a938730277c188f4"
    },
    {
      "cycleId": "20260711-034636984Z-98693225fa",
      "file": "receipts/cycles/20260711-034636984Z-98693225fa.json",
      "ts": "2026-07-11T03:46:36.984Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0314,
      "counterfactualRawReturnPct": 0.0314,
      "rawDirection": "short",
      "maxAdversePct": 1.6099,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-11T03:46:00.708Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 43.15; MACD death_cross; MA trend mixed; ATR 1.60%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9081,
            "reason": "realized volatility proxy 2.00%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.21M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Range-bound market structure with only 2 bearish signals out of the 3 required for convergence. While momentum is negative and MACD shows a death cross, the MA trend is mixed, RSI sits at n..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "98693225fac92b287e3936e28dad95c5ace8c12c4d15f6f42e173af41942d5a4"
    },
    {
      "cycleId": "20260710-213145538Z-be5c540dea",
      "file": "receipts/cycles/20260710-213145538Z-be5c540dea.json",
      "ts": "2026-07-10T21:31:45.538Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T21:29:34.349Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 43.82; MACD death_cross; MA trend mixed; ATR 1.63%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.906,
            "reason": "realized volatility proxy 2.05%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.13M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bullish, 1 bearish vs 3 required). Market is ranging with balanced derivatives positioning and neutral macro/news context. Technicals are conflicting, showing..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "be5c540dea868378828626ed67fa05fa354261ff6391bacae5d1b6f9e20ee65d"
    },
    {
      "cycleId": "20260710-213118102Z-9512c3977d",
      "file": "receipts/cycles/20260710-213118102Z-9512c3977d.json",
      "ts": "2026-07-10T21:31:18.102Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0487,
      "rawDirection": "long",
      "maxAdversePct": 3.2971,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T21:29:33.793Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 59.78; MACD golden_cross; MA trend bull; ATR 1.42%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9127,
            "reason": "realized volatility proxy 1.90%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0003%, open interest 729.92K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only one signal shows bullish momentum, falling short of the three required for convergence. Price is trading in a range regime with balanced derivatives sentiment (0.0003% funding) and no ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9512c3977d8b81303eeae13b4ed073f4ed80bce13b8074d1f4cfc671e9bab9c9"
    },
    {
      "cycleId": "20260710-213042872Z-4141fe1d3e",
      "file": "receipts/cycles/20260710-213042872Z-4141fe1d3e.json",
      "ts": "2026-07-10T21:30:42.872Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0411,
      "rawDirection": "long",
      "maxAdversePct": 2.8834,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T21:30:06.260Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 59.06; MACD golden_cross; MA trend bull; ATR 1.15%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9246,
            "reason": "realized volatility proxy 1.65%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.18K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 of 3 required bullish signals. BTC remains range-bound with balanced derivatives positioning and unclear macro context. While MA trend and MACD show ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4141fe1d3e7a719841e67d7f58727eafd5dcca1a7f5dfe6fea1b4342ce609cbc"
    },
    {
      "cycleId": "20260710-180453047Z-26097f879c",
      "file": "receipts/cycles/20260710-180453047Z-26097f879c.json",
      "ts": "2026-07-10T18:04:53.047Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T18:02:35.132Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 42.28; MACD death_cross; MA trend mixed; ATR 1.71%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9064,
            "reason": "realized volatility proxy 2.04%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.1M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bearish, 1 bullish vs 3 required). Despite a confirmed downtrend and bearish technical verdict (MACD death cross), short-term momentum and derivatives senti..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "26097f879c9e5dde2e7ef1d61e7906ce95efcf049d7e8590840d3e9aaf8de54c"
    },
    {
      "cycleId": "20260710-180415122Z-dcc7dd1e17",
      "file": "receipts/cycles/20260710-180415122Z-dcc7dd1e17.json",
      "ts": "2026-07-10T18:04:15.122Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0142,
      "rawDirection": "long",
      "maxAdversePct": 3.9825,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T18:02:34.351Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 59.13; MACD golden_cross; MA trend bull; ATR 1.49%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9134,
            "reason": "realized volatility proxy 1.89%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0012%, open interest 736.53K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bullish vs 3 required). Market is in a range regime with balanced derivatives sentiment and unclear extended momentum. While 4h technicals show bulli..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "dcc7dd1e175d1155c9296f686bb9114d2860b76007058e8e85db05ae63970c8b"
    },
    {
      "cycleId": "20260710-180336294Z-d1f6f75eb0",
      "file": "receipts/cycles/20260710-180336294Z-d1f6f75eb0.json",
      "ts": "2026-07-10T18:03:36.294Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.016,
      "rawDirection": "long",
      "maxAdversePct": 3.3912,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T18:03:07.439Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 58.47; MACD golden_cross; MA trend bull; ATR 1.18%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9243,
            "reason": "realized volatility proxy 1.65%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.27K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met with only 1 bullish signal against the required 3. BTC is trading in a range regime with weak momentum, balanced derivatives positioning, and conflicting techn..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d1f6f75eb07f7f12a01b480088f92d12536e180eeeec7557497a2670d91ab107"
    },
    {
      "cycleId": "20260710-150700022Z-612d9a9b6f",
      "file": "receipts/cycles/20260710-150700022Z-612d9a9b6f.json",
      "ts": "2026-07-10T15:07:00.022Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T15:04:31.506Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 43.75; MACD death_cross; MA trend mixed; ATR 1.77%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9072,
            "reason": "realized volatility proxy 2.02%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.07M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and sentiment signals fail to meet the 3-signal convergence threshold. Although the market regime is bearish and the 4h MACD shows a death cross, short-term momentum is neutral an..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "612d9a9b6f909923f86b7ee776b608fd4a288c5ec5cb29cdc94bfd3a9938a9ee"
    },
    {
      "cycleId": "20260710-150620037Z-6890043e85",
      "file": "receipts/cycles/20260710-150620037Z-6890043e85.json",
      "ts": "2026-07-10T15:06:20.037Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0507,
      "rawDirection": "long",
      "maxAdversePct": 5.3754,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T15:04:30.740Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 58.03; MACD golden_cross; MA trend bull; ATR 1.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9129,
            "reason": "realized volatility proxy 1.90%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0015%, open interest 729.76K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bullish vs 3 required). While 4h technicals lean bullish (MACD golden cross, price above MAs), the broader regime is ranging, derivatives positioning is balan..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6890043e85cea11c4033189fdd140420d2dc2e414bdbbc75f61196b2e4a4fb42"
    },
    {
      "cycleId": "20260710-150542515Z-c603a76e27",
      "file": "receipts/cycles/20260710-150542515Z-c603a76e27.json",
      "ts": "2026-07-10T15:05:42.515Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0111,
      "rawDirection": "long",
      "maxAdversePct": 4.1142,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T15:05:03.870Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 59.13; MACD golden_cross; MA trend bull; ATR 1.23%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9242,
            "reason": "realized volatility proxy 1.65%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0008%, open interest 34.21K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technicals show short-term bullish momentum with a MACD golden cross and price trading above key MAs, but the asset remains confined to a range-bound regime with balanced derivatives positi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c603a76e272fe1d78af7ab580bba7f5f72a18ba7db9994d71cd20cbe39da92ef"
    },
    {
      "cycleId": "20260710-112309276Z-3b85603a81",
      "file": "receipts/cycles/20260710-112309276Z-3b85603a81.json",
      "ts": "2026-07-10T11:23:09.276Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T11:20:40.697Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 52.14; MACD death_cross; MA trend mixed; ATR 1.63%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9152,
            "reason": "realized volatility proxy 1.85%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.15M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals are fragmented with only one bullish and one bearish count, operating within a range-bound regime and balanced derivatives positioning. The required convergence threshold of three a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3b85603a81cd7844062961a439e69674adf4ce4eb94f180fcce5b56a26f285a7"
    },
    {
      "cycleId": "20260710-112233309Z-7f86602fd5",
      "file": "receipts/cycles/20260710-112233309Z-7f86602fd5.json",
      "ts": "2026-07-10T11:22:33.309Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.085,
      "rawDirection": "long",
      "maxAdversePct": 2.3968,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T11:20:38.741Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 64.33; MACD golden_cross; MA trend bull; ATR 1.21%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9271,
            "reason": "realized volatility proxy 1.59%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0129%, open interest 34.22K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show short-term bullish momentum and a MACD golden cross, but the required signal convergence threshold (3) is not met with only 1 confirmed bullish count. The market r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7f86602fd53bcf8e3f46be4d8c85d5782b4d510dba2039d691cb70d29fa95b6d"
    },
    {
      "cycleId": "20260710-112156125Z-2767e6ecab",
      "file": "receipts/cycles/20260710-112156125Z-2767e6ecab.json",
      "ts": "2026-07-10T11:21:56.125Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0634,
      "rawDirection": "long",
      "maxAdversePct": 3.1571,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T11:21:12.809Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 61.87; MACD golden_cross; MA trend mixed; ATR 1.50%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.918,
            "reason": "realized volatility proxy 1.79%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0001%, open interest 745.36K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only 2 bullish technical signals are active, falling short of the 3 required for trade convergence. The market regime is explicitly range-bound, derivatives positioning is neutral, and no m..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2767e6ecab8bbb08b77bb9c713c0172524f5103fc8f034515151e282bb7f462f"
    },
    {
      "cycleId": "20260710-042038007Z-487ff4568f",
      "file": "receipts/cycles/20260710-042038007Z-487ff4568f.json",
      "ts": "2026-07-10T04:20:38.007Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T04:18:13.329Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.04; MACD death_cross; MA trend mixed; ATR 1.63%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9052,
            "reason": "realized volatility proxy 2.07%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0046%, open interest 4.13M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals are divergent with a bearish 4H verdict and MACD death cross conflicting with weak short-term momentum. The asset is range-bound with balanced derivatives positioning and ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "487ff4568f82f3f86f2a9dfadc7daf9c8f247aacc0f6243036ed13cc2a42c3d3"
    },
    {
      "cycleId": "20260710-041956447Z-f922fb7334",
      "file": "receipts/cycles/20260710-041956447Z-f922fb7334.json",
      "ts": "2026-07-10T04:19:56.447Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0389,
      "rawDirection": "long",
      "maxAdversePct": 2.8524,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T04:18:12.075Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 61.06; MACD golden_cross; MA trend bull; ATR 1.21%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9146,
            "reason": "realized volatility proxy 1.86%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0047%, open interest 33.88K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show a mild bullish bias, but the asset remains in a defined range-bound regime with balanced derivatives positioning and no confirming macro or news catalysts. The con..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f922fb7334342f28f2aa29116741e303776340db7969fcd841ac16d37146eb57"
    },
    {
      "cycleId": "20260710-041923015Z-786f38f183",
      "file": "receipts/cycles/20260710-041923015Z-786f38f183.json",
      "ts": "2026-07-10T04:19:23.015Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0019,
      "rawDirection": "long",
      "maxAdversePct": 3.7158,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-10T04:18:45.263Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.76; MACD golden_cross; MA trend mixed; ATR 1.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9112,
            "reason": "realized volatility proxy 1.94%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0040%, open interest 707.16K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technicals show mild upside with a MACD golden cross and positive momentum, but only 2 bullish signals are active, falling short of the 3 required for trade convergence. The market is range..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "786f38f1836ae9784435354f6f3b1cfe722dad10bbae32d7e7d9a4fdb6341cea"
    },
    {
      "cycleId": "20260709-215036043Z-456f621c49",
      "file": "receipts/cycles/20260709-215036043Z-456f621c49.json",
      "ts": "2026-07-09T21:50:36.043Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T21:48:25.307Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 43.15; MACD death_cross; MA trend mixed; ATR 1.72%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8989,
            "reason": "realized volatility proxy 2.21%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0060%, open interest 4.25M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack directional convergence. Technicals are split between neutral and bearish with mixed momentum and moving average alignment, while derivatives positioning and macro/news feeds r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "456f621c49cb31a986e1b102df30625b4b8f0e0119cba7b046fd3b22bf228a0a"
    },
    {
      "cycleId": "20260709-215003982Z-61d1060d43",
      "file": "receipts/cycles/20260709-215003982Z-61d1060d43.json",
      "ts": "2026-07-09T21:50:03.982Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1177,
      "rawDirection": "long",
      "maxAdversePct": 4.8136,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T21:48:24.408Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 48.74; MACD golden_cross; MA trend mixed; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9097,
            "reason": "realized volatility proxy 1.97%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0034%, open interest 688.72K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence unmet with only 1 bullish reading against the required 3. Price is trapped in a range-bound regime with neutral momentum, balanced derivatives positioning, and absent mac..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "61d1060d43ecf136554becb77d340868c7bc8663fb73d140aa442dddd722ef05"
    },
    {
      "cycleId": "20260709-214930776Z-3abec3a633",
      "file": "receipts/cycles/20260709-214930776Z-3abec3a633.json",
      "ts": "2026-07-09T21:49:30.776Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0498,
      "rawDirection": "long",
      "maxAdversePct": 3.9141,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T21:48:57.541Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.09; MACD golden_cross; MA trend mixed; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9139,
            "reason": "realized volatility proxy 1.88%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0007%, open interest 33.66K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical analysis shows mild bullish cues (MACD golden cross, RSI neutral) but only registers 2 bullish signals, falling short of the 3 required for convergence. The asset is trapped in a ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3abec3a6338592b7dffcbcdc8de178206866f0f08ebe54d1aaf3eab7f2db6d99"
    },
    {
      "cycleId": "20260709-181409005Z-7ae7834dc2",
      "file": "receipts/cycles/20260709-181409005Z-7ae7834dc2.json",
      "ts": "2026-07-09T18:14:09.005Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1839,
      "rawDirection": "long",
      "maxAdversePct": 7.0819,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T18:11:59.341Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.93; MACD death_cross; MA trend mixed; ATR 1.81%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8974,
            "reason": "realized volatility proxy 2.24%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0078%, open interest 4.23M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack directional convergence. Although the broader regime is confirmed bearish with a MACD death cross and agent verdict, short-term 24h momentum remains positive and derivative pos..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7ae7834dc2dc45b21bbc66cec98c5655ee2438a6d832d95869042e002bdb19b2"
    },
    {
      "cycleId": "20260709-181337563Z-2425d41f92",
      "file": "receipts/cycles/20260709-181337563Z-2425d41f92.json",
      "ts": "2026-07-09T18:13:37.563Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0805,
      "rawDirection": "long",
      "maxAdversePct": 4.4668,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T18:11:58.704Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.72; MACD golden_cross; MA trend mixed; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9058,
            "reason": "realized volatility proxy 2.06%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0065%, open interest 687.09K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical signals (2/3) fall short of the required convergence threshold. The market is range-bound with weak momentum, neutral RSI (~52), and balanced derivatives funding. While a ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2425d41f929750918a1529323be581a54394e171e1eae76837ea414dfcbac01b"
    },
    {
      "cycleId": "20260709-181303018Z-1d4696fa9e",
      "file": "receipts/cycles/20260709-181303018Z-1d4696fa9e.json",
      "ts": "2026-07-09T18:13:03.018Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0236,
      "rawDirection": "long",
      "maxAdversePct": 3.5746,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T18:12:31.410Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.68; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9111,
            "reason": "realized volatility proxy 1.94%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0073%, open interest 33.27K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only 2 of 3 required bullish convergence signals are present. Two technical indicators show a mild bullish bias, but market intelligence, sentiment, and news feeds remain neutral or unclear..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1d4696fa9e530b3563e98095722a97a4ca8490fc7dab51402d2e533f7e507f6d"
    },
    {
      "cycleId": "20260709-153852447Z-7daf0be982",
      "file": "receipts/cycles/20260709-153852447Z-7daf0be982.json",
      "ts": "2026-07-09T15:38:52.447Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T15:36:26.693Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 40.75; MACD death_cross; MA trend mixed; ATR 1.84%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8848,
            "reason": "realized volatility proxy 2.51%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0033%, open interest 4.3M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (requires 3 aligned signals; currently 1 bearish, 1 bullish). Technicals are mixed with a 4h bearish agent hub verdict (MACD death cross, RSI 40.75) conflicting ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7daf0be98292fde2d6d89bf81399a0a72402cdb5cb582ae769e9e9687e7943c1"
    },
    {
      "cycleId": "20260709-153814136Z-ccac1701f3",
      "file": "receipts/cycles/20260709-153814136Z-ccac1701f3.json",
      "ts": "2026-07-09T15:38:14.136Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1059,
      "rawDirection": "long",
      "maxAdversePct": 4.1996,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T15:36:25.952Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 46.86; MACD golden_cross; MA trend mixed; ATR 1.61%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8985,
            "reason": "realized volatility proxy 2.21%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0041%, open interest 689.98K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is trading in a range-bound regime with neutral momentum and balanced derivatives positioning. Only one bullish technical signal is present, which fails to meet the three-signal con..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ccac1701f304d3e106de6e0494b9e042706e54d05dd3eb7c4d33488c9767427e"
    },
    {
      "cycleId": "20260709-153735812Z-03f035689a",
      "file": "receipts/cycles/20260709-153735812Z-03f035689a.json",
      "ts": "2026-07-09T15:37:35.812Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0397,
      "rawDirection": "long",
      "maxAdversePct": 3.2116,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T15:36:58.981Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.47; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9121,
            "reason": "realized volatility proxy 1.92%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0024%, open interest 33.57K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met with only 2 of 3 required signals. Price is range-bound around 62,922 with balanced derivatives, mixed moving averages, and no macro/news catalysts. The isolat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "03f035689a23a040f8b372e6918f89ee329978ae4ffb5efd9a819535a417dd74"
    },
    {
      "cycleId": "20260709-112745729Z-936ce761e8",
      "file": "receipts/cycles/20260709-112745729Z-936ce761e8.json",
      "ts": "2026-07-09T11:27:45.729Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T11:25:41.553Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 39.51; MACD death_cross; MA trend mixed; ATR 1.87%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.878,
            "reason": "realized volatility proxy 2.66%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0062%, open interest 3.09M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "All technical and sentiment indicators converge on a neutral, range-bound regime with balanced derivatives positioning. RSI is mid-range, MACD shows a death cross but lacks follow-through, ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "936ce761e8f4eddd393d8e1df1b4bed2b680c23c77d3eb32e5f8ff02a0a66cad"
    },
    {
      "cycleId": "20260709-112716174Z-1e61d3ae86",
      "file": "receipts/cycles/20260709-112716174Z-1e61d3ae86.json",
      "ts": "2026-07-09T11:27:16.174Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.0019,
      "counterfactualRawReturnPct": -0.0019,
      "rawDirection": "long",
      "maxAdversePct": 1.8188,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T11:25:40.765Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 47.76; MACD golden_cross; MA trend mixed; ATR 1.65%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8885,
            "reason": "realized volatility proxy 2.43%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0005%, open interest 531.39K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence requirement not met (1 bullish vs 3 required). The market is firmly range-bound with negligible momentum (~0.3% 24h) and balanced derivatives positioning. Mixed technical..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1e61d3ae866fe345d58383b9dd07521861bc18594a8a61288fc4ee684ce8b3b1"
    },
    {
      "cycleId": "20260709-112645200Z-c8906ad3ec",
      "file": "receipts/cycles/20260709-112645200Z-c8906ad3ec.json",
      "ts": "2026-07-09T11:26:45.200Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0619,
      "counterfactualRawReturnPct": 0.0619,
      "rawDirection": "long",
      "maxAdversePct": 0.3772,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T11:26:13.801Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.49; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9066,
            "reason": "realized volatility proxy 2.04%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0044%, open interest 24.64K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (2 bullish signals vs 3 required). BTC remains in a range-bound regime with neutral derivatives sentiment and no confirmed macro or news catalysts. While a 4h ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c8906ad3ec145ec10134ba7f8e6e47027446b63cc69608d1cd654f904d9b1e94"
    },
    {
      "cycleId": "20260709-080043578Z-0408956f05",
      "file": "receipts/cycles/20260709-080043578Z-0408956f05.json",
      "ts": "2026-07-09T08:00:43.578Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T07:58:29.228Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 42.60; MACD death_cross; MA trend mixed; ATR 1.90%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8774,
            "reason": "realized volatility proxy 2.67%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0021%, open interest 4.23M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and quantitative signals fail to converge, yielding only one bullish and one bearish read against the required threshold of three for entry. SOL trades in a confirmed range-bound ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0408956f058627179c23e36f94ab7af2100305d7481b1039c42641e0a0666304"
    },
    {
      "cycleId": "20260709-080007850Z-7040c3f1bd",
      "file": "receipts/cycles/20260709-080007850Z-7040c3f1bd.json",
      "ts": "2026-07-09T08:00:07.850Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0146,
      "rawDirection": "long",
      "maxAdversePct": 2.6074,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T07:58:28.529Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.14; MACD golden_cross; MA trend mixed; ATR 1.69%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8883,
            "reason": "realized volatility proxy 2.44%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0001%, open interest 720.76K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only two bullish technical signals are present, falling short of the three-signal convergence threshold required for execution. ETH remains range-bound with balanced derivatives positioning..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7040c3f1bdd9d93dc65a265ea7b034df04fa4c7e1585087d06577edf1eed3303"
    },
    {
      "cycleId": "20260709-075934982Z-716c268b69",
      "file": "receipts/cycles/20260709-075934982Z-716c268b69.json",
      "ts": "2026-07-09T07:59:34.982Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0195,
      "rawDirection": "long",
      "maxAdversePct": 2.1785,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T07:59:01.292Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.84; MACD golden_cross; MA trend mixed; ATR 1.36%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9066,
            "reason": "realized volatility proxy 2.04%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0023%, open interest 33.64K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show mild bullish bias with a MACD golden cross and positive 24h momentum, but the required convergence threshold of 3 signals is not met (current: 2 bullish). Derivati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "716c268b693ea48d32d3d39cea79fcae106d0995cd4e4e724cfa3213ed0f4f73"
    },
    {
      "cycleId": "20260709-041822588Z-ad5f6c0462",
      "file": "receipts/cycles/20260709-041822588Z-ad5f6c0462.json",
      "ts": "2026-07-09T04:18:22.588Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0.15,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1534,
      "rawDirection": "short",
      "maxAdversePct": 4.2482,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T04:15:58.407Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 36.73; MACD death_cross; MA trend mixed; ATR 1.79%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8808,
            "reason": "realized volatility proxy 2.60%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0079%, open interest 4.31M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.15,
            "reason": "Bearish technicals including a MACD death cross and negative short-term momentum are offset by neutral derivatives positioning, balanced funding, and absent macro/news confirmation. The req..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ad5f6c0462dc42e2525b016dff4edbcbab05b907ad4dc2446b174c9008dccbad"
    },
    {
      "cycleId": "20260709-041748440Z-4f09615627",
      "file": "receipts/cycles/20260709-041748440Z-4f09615627.json",
      "ts": "2026-07-09T04:17:48.440Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0858,
      "rawDirection": "short",
      "maxAdversePct": 3.6325,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T04:15:57.729Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 43.81; MACD golden_cross; MA trend mixed; ATR 1.60%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8898,
            "reason": "realized volatility proxy 2.40%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0042%, open interest 707.54K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the required convergence threshold of 3 aligned indicators, with only 1 bearish signal present. Price remains range-bound, technical analysis is neutral with mixed movi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4f09615627119cc30758aaae4ea1f50569328fdba9722ef1e6b55cc2a8382c1b"
    },
    {
      "cycleId": "20260709-041711044Z-4e667c3e67",
      "file": "receipts/cycles/20260709-041711044Z-4e667c3e67.json",
      "ts": "2026-07-09T04:17:11.044Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0605,
      "rawDirection": "short",
      "maxAdversePct": 2.7803,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-09T04:16:30.581Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 43.96; MACD golden_cross; MA trend mixed; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9109,
            "reason": "realized volatility proxy 1.94%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0019%, open interest 33.77K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is not met (1 bearish vs 3 required). Price action shows mixed momentum, neutral RSI, and balanced derivatives positioning within a range-bound regime, offering..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4e667c3e676be6deffdee6bbcb7b44fe43d2c93075e8f8ebd0aedc8d1b653ac8"
    },
    {
      "cycleId": "20260708-213513748Z-91f39f2f61",
      "file": "receipts/cycles/20260708-213513748Z-91f39f2f61.json",
      "ts": "2026-07-08T21:35:13.748Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1113,
      "rawDirection": "short",
      "maxAdversePct": 2.6925,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T21:32:51.128Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 44.76; MACD golden_cross; MA trend mixed; ATR 1.66%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8854,
            "reason": "realized volatility proxy 2.50%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0060%, open interest 695.34K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold unmet (0 bullish, 1 bearish vs 3 required). Range-bound regime shows mixed technicals (neutral RSI, MACD cross vs negative momentum) and balanced derivatives po..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "91f39f2f619f622462ce10c0897cc8f506097cd6d5df260499aab9b47874a786"
    },
    {
      "cycleId": "20260708-213432680Z-0f7eff69e4",
      "file": "receipts/cycles/20260708-213432680Z-0f7eff69e4.json",
      "ts": "2026-07-08T21:34:32.680Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0944,
      "counterfactualRawReturnPct": 0.0944,
      "rawDirection": "short",
      "maxAdversePct": 1.7471,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T21:32:50.350Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 44.52; MACD golden_cross; MA trend mixed; ATR 1.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9069,
            "reason": "realized volatility proxy 2.03%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0061%, open interest 33.8K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails to meet the required threshold of 3. While 24h momentum is slightly bearish, broader TA is neutral (RSI 44.52, MACD golden cross, mixed MAs) and derivatives positio..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0f7eff69e49a0e7f1380ac69e4175403f029291ffb7505978e9e27cd565711c4"
    },
    {
      "cycleId": "20260708-213401031Z-6fcb2461b6",
      "file": "receipts/cycles/20260708-213401031Z-6fcb2461b6.json",
      "ts": "2026-07-08T21:34:01.031Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.2169,
      "rawDirection": "short",
      "maxAdversePct": 2.672,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T21:33:24.442Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 35.16; MACD death_cross; MA trend mixed; ATR 1.82%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8795,
            "reason": "realized volatility proxy 2.63%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0081%, open interest 4.4M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical momentum and a confirmed downtrend are present, but signal convergence falls short with only two bearish reads against the required three. Neutral derivatives positioning ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6fcb2461b6ed5198e19cf80c08db5b7f76988dc207a1893870cf8d97f9fdeb2f"
    },
    {
      "cycleId": "20260708-175525814Z-0a6522c566",
      "file": "receipts/cycles/20260708-175525814Z-0a6522c566.json",
      "ts": "2026-07-08T17:55:25.814Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0966,
      "rawDirection": "short",
      "maxAdversePct": 2.9359,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T17:53:04.997Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 45.41; MACD golden_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8781,
            "reason": "realized volatility proxy 2.66%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0072%, open interest 705.04K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet: only 1 bearish signal detected versus the 3 required. ETH is range-bound with neutral RSI, mixed moving averages, and balanced derivatives positioning. Despite ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0a6522c566b28fdc049f11f8dd41e8b03428cf93d83df3b46753c72964c1e9bc"
    },
    {
      "cycleId": "20260708-175455903Z-595e8cf0f8",
      "file": "receipts/cycles/20260708-175455903Z-595e8cf0f8.json",
      "ts": "2026-07-08T17:54:55.903Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0367,
      "rawDirection": "short",
      "maxAdversePct": 3.1402,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T17:53:04.419Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 45.02; MACD golden_cross; MA trend mixed; ATR 1.36%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9,
            "reason": "realized volatility proxy 2.18%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 33.95K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market remains range-bound with only one bearish signal active, falling short of the three-signal convergence threshold. Technicals show mixed conditions (neutral RSI at 45, MACD golden cro..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "595e8cf0f894bcd2b72280ac5efb9d7b3a23da450ac75f9419ad57300edb8b3e"
    },
    {
      "cycleId": "20260708-175420941Z-2a14b2db8b",
      "file": "receipts/cycles/20260708-175420941Z-2a14b2db8b.json",
      "ts": "2026-07-08T17:54:20.941Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1831,
      "rawDirection": "short",
      "maxAdversePct": 3.3806,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T17:53:37.517Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 35.56; MACD death_cross; MA trend mixed; ATR 1.89%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8745,
            "reason": "realized volatility proxy 2.74%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0038%, open interest 4.44M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold is unmet with only 2 bearish signals against the required 3. While momentum is negative and technicals lean bearish with a MACD death cross, derivatives positioning is..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2a14b2db8b6964822c2aaf3cdd580cf6ba2e5edada2d8b59673bccfa28d3feba"
    },
    {
      "cycleId": "20260708-144503722Z-33da925c0f",
      "file": "receipts/cycles/20260708-144503722Z-33da925c0f.json",
      "ts": "2026-07-08T14:45:03.722Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0963,
      "rawDirection": "short",
      "maxAdversePct": 3.4489,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T14:42:32.645Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.03; MACD golden_cross; MA trend mixed; ATR 1.73%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8627,
            "reason": "realized volatility proxy 3.00%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0056%, open interest 702.63K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only one bearish signal is active while technicals are neutral, derivatives positioning is balanced, and macro/news context is unavailable. The convergence threshold requires 3 aligned sign..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "33da925c0f7f723d8e5dc84f9c3faaf5d3a630a97676f187ec20d9c34162ee0e"
    },
    {
      "cycleId": "20260708-144427597Z-51fa56fd9d",
      "file": "receipts/cycles/20260708-144427597Z-51fa56fd9d.json",
      "ts": "2026-07-08T14:44:27.597Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0468,
      "rawDirection": "short",
      "maxAdversePct": 3.3552,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T14:42:32.022Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 41.38; MACD golden_cross; MA trend mixed; ATR 1.37%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8745,
            "reason": "realized volatility proxy 2.74%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.11K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bearish vs 3 required). Short-term momentum is negative but RSI (41.38) and MACD are neutral/bullish-crossing, price is trapped in a range, and derivatives po..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "51fa56fd9d91a954dd2e3fcb0a88228d772ac8ad0c37761829e1938859ba809b"
    },
    {
      "cycleId": "20260708-144351901Z-b043a9dfe2",
      "file": "receipts/cycles/20260708-144351901Z-b043a9dfe2.json",
      "ts": "2026-07-08T14:43:51.901Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.2031,
      "rawDirection": "long",
      "maxAdversePct": 5.5046,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T14:43:05.069Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 32.15; MACD golden_cross; MA trend mixed; ATR 1.92%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8634,
            "reason": "realized volatility proxy 2.98%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0030%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal divergence prevents entry: confirmed downtrend and strong negative momentum (-6.26% 24h, -5.40% 72h) conflict with a 4h MACD golden cross and oversold RSI (32.15). Derivatives positi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b043a9dfe2fe13833b26fdbf556b74bc2fb4519e90a1e080350101e049e95550"
    },
    {
      "cycleId": "20260708-103344976Z-15325999f4",
      "file": "receipts/cycles/20260708-103344976Z-15325999f4.json",
      "ts": "2026-07-08T10:33:44.976Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1704,
      "rawDirection": "long",
      "maxAdversePct": 4.7685,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T10:31:16.239Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 33.47; MACD golden_cross; MA trend mixed; ATR 1.95%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8581,
            "reason": "realized volatility proxy 3.10%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.4M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed signals fail to meet the required convergence threshold of 3 (currently 2 bullish, 1 bearish). Although 4h technicals show a MACD golden cross and near-oversold RSI, 24h/72h momentum ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "15325999f4e6708d4afea33087adffcbdd0e2526db7d59ad383573e304efedb4"
    },
    {
      "cycleId": "20260708-103259020Z-a0f2467a1c",
      "file": "receipts/cycles/20260708-103259020Z-a0f2467a1c.json",
      "ts": "2026-07-08T10:32:59.020Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0589,
      "rawDirection": "short",
      "maxAdversePct": 3.8968,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T10:31:15.466Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 44.38; MACD golden_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8591,
            "reason": "realized volatility proxy 3.07%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0080%, open interest 694.84K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence is not met: only one bearish technical signal exists alongside neutral market intel, balanced derivatives positioning, and a confirmed range-bound regime. Momentum is wea..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a0f2467a1c694733a53f66577fa0eb136a3a5aecdfa67953a8336d0436c5c787"
    },
    {
      "cycleId": "20260708-103221605Z-85feeede98",
      "file": "receipts/cycles/20260708-103221605Z-85feeede98.json",
      "ts": "2026-07-08T10:32:21.605Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0429,
      "rawDirection": "short",
      "maxAdversePct": 3.1869,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T10:31:48.430Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.80; MACD golden_cross; MA trend mixed; ATR 1.37%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8688,
            "reason": "realized volatility proxy 2.86%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 33.8K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bearish vs required 3). Price is ranging with neutral derivatives positioning and conflicting technicals (neutral RSI, mixed MAs, MACD golden cross b..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "85feeede985dc2b2c763fa832c0de5054565f9ce893a50a97e1f041155c8bff9"
    },
    {
      "cycleId": "20260708-064220934Z-78f954fced",
      "file": "receipts/cycles/20260708-064220934Z-78f954fced.json",
      "ts": "2026-07-08T06:42:20.934Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T06:40:06.099Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 36.40; MACD golden_cross; MA trend mixed; ATR 1.92%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8587,
            "reason": "realized volatility proxy 3.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0051%, open interest 4.41M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and sentiment signals are divergent with no convergence: bearish short-term momentum contrasts with a bullish MACD golden cross and neutral derivatives positioning. The asset rema..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "78f954fced3ed2773858b7f62377f4206afcde49b3a121238f5f9e3f9e4c643d"
    },
    {
      "cycleId": "20260708-064142569Z-74892bb26b",
      "file": "receipts/cycles/20260708-064142569Z-74892bb26b.json",
      "ts": "2026-07-08T06:41:42.569Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0462,
      "rawDirection": "short",
      "maxAdversePct": 3.7422,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T06:40:05.322Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 46.66; MACD golden_cross; MA trend mixed; ATR 1.71%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8615,
            "reason": "realized volatility proxy 3.02%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0007%, open interest 686.29K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is trading in a range with mixed technicals and balanced derivatives positioning. Only a single weak bearish momentum signal is present, failing the required three-signal convergenc..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "74892bb26bbfb1bce70526ad8d94c66d1d242a67c267e7bfe11a07847c06f64c"
    },
    {
      "cycleId": "20260708-064108559Z-b3d3e2bcc2",
      "file": "receipts/cycles/20260708-064108559Z-b3d3e2bcc2.json",
      "ts": "2026-07-08T06:41:08.559Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.025,
      "rawDirection": "short",
      "maxAdversePct": 2.9006,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T06:40:38.239Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 46.53; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8757,
            "reason": "realized volatility proxy 2.71%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0065%, open interest 33.88K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bearish vs 3 required). Short-term momentum is slightly negative, but RSI is neutral at 46.53, derivatives positioning is balanced, and the market regime is..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b3d3e2bcc285e548925836097ac1e93078b95196fc72dfa8cd13a554e09bb21a"
    },
    {
      "cycleId": "20260708-035024838Z-d079825458",
      "file": "receipts/cycles/20260708-035024838Z-d079825458.json",
      "ts": "2026-07-08T03:50:24.838Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0723,
      "rawDirection": "short",
      "maxAdversePct": 4.1069,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T03:48:05.005Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 40.25; MACD golden_cross; MA trend mixed; ATR 1.95%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8593,
            "reason": "realized volatility proxy 3.07%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0044%, open interest 4.35M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold is unmet, showing only 1 bearish signal against a required 3. Technicals are conflicted with a neutral RSI of 40.25, mixed moving averages, and range-bound momentum. D..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d079825458e99422dd015f24e6dcd737ff691126c6819c21411b8051195bbc68"
    },
    {
      "cycleId": "20260708-034947087Z-93d6c17c1c",
      "file": "receipts/cycles/20260708-034947087Z-93d6c17c1c.json",
      "ts": "2026-07-08T03:49:47.087Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T03:48:04.362Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 49.22; MACD golden_cross; MA trend mixed; ATR 1.78%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8624,
            "reason": "realized volatility proxy 3.00%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0028%, open interest 669.43K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is trading in a defined range with neutral technical readings (RSI ~49, mixed MA alignment, balanced MACD cross) and balanced derivatives positioning. With 0 bullish/bearish converg..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "93d6c17c1c8f267bb485743b269bde14792837e35747483bb2f347c2c8ffafcb"
    },
    {
      "cycleId": "20260708-034916573Z-1f9fb240f8",
      "file": "receipts/cycles/20260708-034916573Z-1f9fb240f8.json",
      "ts": "2026-07-08T03:49:16.573Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0127,
      "rawDirection": "long",
      "maxAdversePct": 2.2779,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-08T03:48:36.927Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.38; MACD golden_cross; MA trend mixed; ATR 1.36%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8761,
            "reason": "realized volatility proxy 2.70%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0061%, open interest 33.76K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price remains trapped in a range-bound regime with neutral short-term momentum and balanced derivatives positioning. Signal convergence is unmet (only 1 of 3 required bullish signals active..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1f9fb240f80efc6050500ba30590596ce3105853f7e33d09405fa3308ddf7c8a"
    },
    {
      "cycleId": "20260707-214547789Z-58aa0ca745",
      "file": "receipts/cycles/20260707-214547789Z-58aa0ca745.json",
      "ts": "2026-07-07T21:45:47.789Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T21:43:38.213Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.40; MACD golden_cross; MA trend mixed; ATR 1.68%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8692,
            "reason": "realized volatility proxy 2.85%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0029%, open interest 695.88K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is range-bound near 1773 with conflicting signals: bearish short-term momentum clashes with a 4h MACD golden cross. Derivatives positioning is balanced and macro/news catalysts are ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "58aa0ca745bdb0269dc7f8494b18b1d3fdf8ac2b1b1d7718f224705a6982d3bc"
    },
    {
      "cycleId": "20260707-214510693Z-55e919d95b",
      "file": "receipts/cycles/20260707-214510693Z-55e919d95b.json",
      "ts": "2026-07-07T21:45:10.693Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T21:43:37.633Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.73; MACD golden_cross; MA trend mixed; ATR 1.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.875,
            "reason": "realized volatility proxy 2.73%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0036%, open interest 33.74K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is trading in a defined range with conflicting technical reads (one bullish MACD cross, one bearish short-term momentum) and balanced derivatives positioning. Only two directional signa..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "55e919d95ba86f506305ab39c61135cd15adbf78489ce54bc635c74dd8382970"
    },
    {
      "cycleId": "20260707-214442197Z-247b11487d",
      "file": "receipts/cycles/20260707-214442197Z-247b11487d.json",
      "ts": "2026-07-07T21:44:42.197Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0594,
      "rawDirection": "short",
      "maxAdversePct": 2.4346,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T21:44:10.623Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 48.51; MACD golden_cross; MA trend mixed; ATR 1.79%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8613,
            "reason": "realized volatility proxy 3.03%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0050%, open interest 4.08M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails to meet the required threshold with only one bearish technical reading versus three needed for entry. SOL is range-bound with neutral momentum, mixed technicals (RS..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "247b11487d247e88bbb18d9621c281e2b3e1c11484169a2670ef7db17f62e5c2"
    },
    {
      "cycleId": "20260707-182453019Z-873db7f432",
      "file": "receipts/cycles/20260707-182453019Z-873db7f432.json",
      "ts": "2026-07-07T18:24:53.019Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T18:22:30.602Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 59.98; MACD golden_cross; MA trend bull; ATR 1.71%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8715,
            "reason": "realized volatility proxy 2.80%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0057%, open interest 4.12M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence is absent with bullishCount and bearishCount both at 0. Price is range-bound and pressing against 82.38 resistance while sitting above the Bollinger upper band, but 24h m..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "873db7f43209ab01552244b317c24925b8489e8e2eaa41ebbb01fa387d41fb74"
    },
    {
      "cycleId": "20260707-182421749Z-a79a7567fb",
      "file": "receipts/cycles/20260707-182421749Z-a79a7567fb.json",
      "ts": "2026-07-07T18:24:21.749Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T18:22:30.029Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 64.53; MACD golden_cross; MA trend bull; ATR 1.61%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.877,
            "reason": "realized volatility proxy 2.68%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0030%, open interest 696.66K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met with zero directional signals against a required three. ETH is range-bound near 1804 with neutral momentum, balanced derivatives positioning, and conflicting t..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a79a7567fb43395f2a2094b78a547e11f4f06f5b80e51cc377a4f28f206ac6fb"
    },
    {
      "cycleId": "20260707-182343691Z-32a7c5d2c9",
      "file": "receipts/cycles/20260707-182343691Z-32a7c5d2c9.json",
      "ts": "2026-07-07T18:23:43.691Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T18:23:02.593Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 62.39; MACD golden_cross; MA trend bull; ATR 1.26%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8781,
            "reason": "realized volatility proxy 2.66%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0004%, open interest 34.2K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical internals show underlying bullish structure, but formal signal convergence remains zero. Momentum is muted, derivatives positioning is balanced, and the market is in a range regim..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "32a7c5d2c93c2aa2c8cf1916da4645ad03912d77c79b9fd47e2772e792c73c58"
    },
    {
      "cycleId": "20260707-152013448Z-28e189fa08",
      "file": "receipts/cycles/20260707-152013448Z-28e189fa08.json",
      "ts": "2026-07-07T15:20:13.448Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T15:17:54.813Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.35; MACD golden_cross; MA trend bull; ATR 1.63%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8785,
            "reason": "realized volatility proxy 2.65%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0045%, open interest 691.04K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is consolidating in a range-bound regime with no clear directional convergence. Short-term momentum is neutral-to-slightly negative, derivatives positioning is balanced, and macro/new..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "28e189fa0813b654ec1e39c461c447af218dee090791f2902fa98bf360926f11"
    },
    {
      "cycleId": "20260707-151939531Z-04999ec1a0",
      "file": "receipts/cycles/20260707-151939531Z-04999ec1a0.json",
      "ts": "2026-07-07T15:19:39.531Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T15:17:54.057Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 58.36; MACD golden_cross; MA trend bull; ATR 1.29%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8794,
            "reason": "realized volatility proxy 2.63%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0032%, open interest 34.07K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence is absent with zero bullish and zero bearish counts. The asset remains range-bound with neutral momentum, unclear volatility metrics, and balanced derivatives positioning..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "04999ec1a079245bf23be27c5fb5ed31d1a4c13ac101ffebc4173335350a2b52"
    },
    {
      "cycleId": "20260707-151901306Z-3d087625c8",
      "file": "receipts/cycles/20260707-151901306Z-3d087625c8.json",
      "ts": "2026-07-07T15:19:01.306Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0472,
      "rawDirection": "long",
      "maxAdversePct": 4.0092,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T15:18:27.872Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.81; MACD golden_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8736,
            "reason": "realized volatility proxy 2.76%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0015%, open interest 4.12M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold of 3 aligned signals is not met. Only one technical source indicates a bullish bias (Agent Hub MACD golden cross), while broader momentum is slightly negative, derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3d087625c886a5039eeb0e05fa6fe05b0da6aa33932a8a50c8c69b1b0c3eae17"
    },
    {
      "cycleId": "20260707-112216927Z-4db88a9dc1",
      "file": "receipts/cycles/20260707-112216927Z-4db88a9dc1.json",
      "ts": "2026-07-07T11:22:16.927Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0.1,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0351,
      "rawDirection": "long",
      "maxAdversePct": 2.9907,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T11:19:56.162Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.82; MACD golden_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.881,
            "reason": "realized volatility proxy 2.60%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0033%, open interest 4.12M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.1,
            "reason": "Price remains range-bound with mixed moving averages and balanced derivatives positioning. Despite a MACD golden cross, the system only registers 2 of the 3 required converging bullish sign..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4db88a9dc166408c9083f502ed16584cdb3cf1915a60f8e2f75d60c3fb66d2b8"
    },
    {
      "cycleId": "20260707-112137704Z-7e47ef05c1",
      "file": "receipts/cycles/20260707-112137704Z-7e47ef05c1.json",
      "ts": "2026-07-07T11:21:37.704Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.024,
      "rawDirection": "long",
      "maxAdversePct": 2.0213,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T11:19:55.469Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.38; MACD golden_cross; MA trend mixed; ATR 1.62%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8865,
            "reason": "realized volatility proxy 2.48%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0016%, open interest 690.9K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical momentum and a MACD golden cross are present but fall short of the required 3-signal convergence threshold. The asset remains in a range-bound regime with balanced derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7e47ef05c1c33284ed632277fd01029dc9352796a37f0daa6815e8c7f7e12c53"
    },
    {
      "cycleId": "20260707-112104843Z-b0f808ac6a",
      "file": "receipts/cycles/20260707-112104843Z-b0f808ac6a.json",
      "ts": "2026-07-07T11:21:04.843Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0386,
      "rawDirection": "long",
      "maxAdversePct": 2.036,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T11:20:28.274Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.29; MACD golden_cross; MA trend mixed; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8842,
            "reason": "realized volatility proxy 2.53%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0042%, open interest 34.1K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only 2 of the 3 required convergence signals are bullish, with neutral derivatives positioning and a range-bound regime preventing alignment. Despite a MACD golden cross and positive short-..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b0f808ac6a336595b430e1f7e5ca460d00f110df71bd5a564eae04701a7d7e4b"
    },
    {
      "cycleId": "20260707-042044854Z-9b732d2ead",
      "file": "receipts/cycles/20260707-042044854Z-9b732d2ead.json",
      "ts": "2026-07-07T04:20:44.854Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0794,
      "rawDirection": "long",
      "maxAdversePct": 4.0499,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T04:18:38.375Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.18; MACD golden_cross; MA trend mixed; ATR 1.71%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8785,
            "reason": "realized volatility proxy 2.65%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0051%, open interest 4.08M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met with only 1 bullish signal against the required 3. SOLUSDT is trapped in a range-bound regime with balanced derivatives positioning and neutral macro/news cont..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9b732d2ead06277030b4a41175507adaf4b2092135a4a3288cebcdadc7636cfc"
    },
    {
      "cycleId": "20260707-042012603Z-a1763ac4b4",
      "file": "receipts/cycles/20260707-042012603Z-a1763ac4b4.json",
      "ts": "2026-07-07T04:20:12.603Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0376,
      "counterfactualRawReturnPct": 0.0376,
      "rawDirection": "long",
      "maxAdversePct": 1.4989,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T04:18:37.598Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.39; MACD golden_cross; MA trend mixed; ATR 1.60%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8879,
            "reason": "realized volatility proxy 2.45%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0016%, open interest 687.73K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish signal vs 3 required). Market is ranging with balanced derivatives, neutral short-term momentum, and mixed moving averages. The single bullish techn..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a1763ac4b4483e46b8e81947abe1e68f8e226a6426b888b6722d9593856522e6"
    },
    {
      "cycleId": "20260707-041944182Z-2beca67aa2",
      "file": "receipts/cycles/20260707-041944182Z-2beca67aa2.json",
      "ts": "2026-07-07T04:19:44.182Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0453,
      "counterfactualRawReturnPct": 0.0453,
      "rawDirection": "long",
      "maxAdversePct": 1.8916,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-07T04:19:10.532Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.54; MACD golden_cross; MA trend mixed; ATR 1.23%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8837,
            "reason": "realized volatility proxy 2.54%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0071%, open interest 34.07K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is trading in a range-bound regime with balanced derivatives positioning and neutral momentum. While Agent Hub notes a bullish MACD golden cross, only 1 of the 3 required real signals c..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2beca67aa2347915ba83a17ab9f8e4ef8ec15f147997a8b9c8a66400feab0a53"
    },
    {
      "cycleId": "20260706-215133305Z-86118247b6",
      "file": "receipts/cycles/20260706-215133305Z-86118247b6.json",
      "ts": "2026-07-06T21:51:33.305Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1244,
      "counterfactualRawReturnPct": 0.1244,
      "rawDirection": "long",
      "maxAdversePct": 1.6884,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T21:49:31.991Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 69.17; MACD golden_cross; MA trend bull; ATR 1.61%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8942,
            "reason": "realized volatility proxy 2.31%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0041%, open interest 725.47K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only one bullish signal registered against the three required. ETH remains in a range-bound regime, extended above local resistance, with balanced derivativ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "86118247b679a8739ebfa0223ea37c8569d34315d6f3870d2d6b6f165b4ca168"
    },
    {
      "cycleId": "20260706-215047693Z-442752cb24",
      "file": "receipts/cycles/20260706-215047693Z-442752cb24.json",
      "ts": "2026-07-06T21:50:47.693Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T21:49:31.245Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 66.31; MACD golden_cross; MA trend bull; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8925,
            "reason": "realized volatility proxy 2.35%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0040%, open interest 34.22K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is range-bound with balanced derivatives positioning (0.004% funding) and flat momentum. All available feeds register as neutral or unclear, yielding 0 directional signals against t..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "442752cb24b719e22ef970ee6e2a1d647b160299b2f18914535b039949377d82"
    },
    {
      "cycleId": "20260706-215013473Z-5a718e935e",
      "file": "receipts/cycles/20260706-215013473Z-5a718e935e.json",
      "ts": "2026-07-06T21:50:13.473Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0109,
      "rawDirection": "long",
      "maxAdversePct": 3.8016,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T21:49:33.708Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 62.89; MACD golden_cross; MA trend mixed; ATR 1.77%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8834,
            "reason": "realized volatility proxy 2.54%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 1 matched SOL: Bitcoin recovers from Strategy's BTC sale, funding rates hit 9%: Are bulls back? | TeraWulf shares rise after $19B Anthropic AI ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0021%, open interest 4.1M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (2 bullish vs 3 required). SOL is range-bound with neutral derivatives funding and balanced open interest. Mixed technical momentum is counterbalanced by macro r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5a718e935e5cafb51d899ac368efe2cbd1f4b99a9092353948361c7e9c1092c8"
    },
    {
      "cycleId": "20260706-182358322Z-dfe241452f",
      "file": "receipts/cycles/20260706-182358322Z-dfe241452f.json",
      "ts": "2026-07-06T18:23:58.322Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0574,
      "rawDirection": "long",
      "maxAdversePct": 4.2252,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T18:22:10.525Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.81; MACD golden_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8847,
            "reason": "realized volatility proxy 2.52%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0002%, open interest 4.24M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is trading in a defined range regime with balanced derivatives positioning and absent news catalysts. Only one technical source flags bullish momentum (MACD golden cross), while bro..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "dfe241452f1f3859393024353e8ecb3310d3ddafd5f70c4252ce0eaabe5685e6"
    },
    {
      "cycleId": "20260706-182329110Z-ee35690fa1",
      "file": "receipts/cycles/20260706-182329110Z-ee35690fa1.json",
      "ts": "2026-07-06T18:23:29.110Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T18:22:09.545Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 65.13; MACD golden_cross; MA trend bull; ATR 1.56%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8996,
            "reason": "realized volatility proxy 2.19%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0029%, open interest 735.36K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETH is consolidating in a range-bound regime near 1791 with balanced derivatives funding and mixed technicals. While MAs and MACD lean bullish, momentum remains flat and overall signal conv..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ee35690fa13f07f34da25f5fafe372a9cf9ea7dfef124ed3486953ffdbe23746"
    },
    {
      "cycleId": "20260706-182249355Z-7d00eb4cd9",
      "file": "receipts/cycles/20260706-182249355Z-7d00eb4cd9.json",
      "ts": "2026-07-06T18:22:49.355Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T18:22:11.648Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 63.32; MACD golden_cross; MA trend bull; ATR 1.22%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8936,
            "reason": "realized volatility proxy 2.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bitcoin price falls up to 4% on Strategy BTC sale as trader sees Summer 2022 repeat | $60.4K Becomes 'most important area': Five..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0025%, open interest 34.39K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum is positive with a MACD golden cross and price above moving averages, but macro conditions are risk-off, derivatives positioning is neutral/negative, and the market remai..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7d00eb4cd93672653d090c056a719cb684d98e2bf6830555556071cb0eea6bb6"
    },
    {
      "cycleId": "20260706-155843192Z-8d06dadc97",
      "file": "receipts/cycles/20260706-155843192Z-8d06dadc97.json",
      "ts": "2026-07-06T15:58:43.192Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.02,
      "rawDirection": "long",
      "maxAdversePct": 3.132,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T15:56:54.585Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.03; MACD golden_cross; MA trend mixed; ATR 1.77%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8898,
            "reason": "realized volatility proxy 2.41%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0009%, open interest 4.21M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bullish vs 3 required). SOLUSDT remains range-bound at 81.33 with mixed momentum, balanced derivatives positioning, and only a single bullish technic..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8d06dadc97056bcefaea54efbba9fc0594e5369ae495498f1d127cff4b0b1fc2"
    },
    {
      "cycleId": "20260706-155810089Z-8269ee394b",
      "file": "receipts/cycles/20260706-155810089Z-8269ee394b.json",
      "ts": "2026-07-06T15:58:10.089Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T15:56:53.798Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 63.78; MACD golden_cross; MA trend bull; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9007,
            "reason": "realized volatility proxy 2.17%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0051%, open interest 715.72K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (0/3 directional signals). Market is range-bound with balanced derivatives positioning, neutral funding, and conflicting technical reads. Despite an isolated str..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8269ee394b604e4688e06463e53a34184ea38bf67b37483d24021f1cee0d9599"
    },
    {
      "cycleId": "20260706-155741126Z-5ba57e3e9c",
      "file": "receipts/cycles/20260706-155741126Z-5ba57e3e9c.json",
      "ts": "2026-07-06T15:57:41.126Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T15:56:55.933Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.90; MACD golden_cross; MA trend bull; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8973,
            "reason": "realized volatility proxy 2.24%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 1 matched BTC: Bitcoin price falls up to 4% on Strategy BTC sale as trader sees Summer 2022 repeat | $60.4K Becomes 'most important area': Five..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 33.98K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical momentum clashes with risk-off macro context and institutional selling warnings. With only 1 bullish and 1 bearish signal, the required convergence threshold of 3 is unmet..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5ba57e3e9cc0158d2a4ee57a9da5db81e7025186656f5c514826ef9651eb7689"
    },
    {
      "cycleId": "20260706-121635303Z-171008c970",
      "file": "receipts/cycles/20260706-121635303Z-171008c970.json",
      "ts": "2026-07-06T12:16:35.303Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0715,
      "rawDirection": "short",
      "maxAdversePct": 2.8185,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T12:14:55.548Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 50.06; MACD golden_cross; MA trend mixed; ATR 1.71%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9089,
            "reason": "realized volatility proxy 1.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0006%, open interest 4.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is range-bound with conflicting technicals: weak 24h/72h momentum is offset by a neutral RSI (~50) and a MACD golden cross. Derivatives positioning is balanced and macro/news feeds ar..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "171008c970e77280605f0bddbb3c19ca9ba1000b9da74e353620e5de4d6c01ad"
    },
    {
      "cycleId": "20260706-121603955Z-f1e426e92f",
      "file": "receipts/cycles/20260706-121603955Z-f1e426e92f.json",
      "ts": "2026-07-06T12:16:03.955Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T12:14:54.802Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.45; MACD golden_cross; MA trend mixed; ATR 1.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9191,
            "reason": "realized volatility proxy 1.77%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0032%, open interest 727.96K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence criteria are unmet: only one bullish and one bearish signal are present, falling short of the three required for a trade. ETHUSDT is trading in a range with conflicting technica..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f1e426e92f399b0f0ac17f6f21aba573b07bb811debc214a131520304f891c95"
    },
    {
      "cycleId": "20260706-121527957Z-db75b8bbdf",
      "file": "receipts/cycles/20260706-121527957Z-db75b8bbdf.json",
      "ts": "2026-07-06T12:15:27.957Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0104,
      "rawDirection": "short",
      "maxAdversePct": 2.9658,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T12:14:57.004Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 47.12; MACD golden_cross; MA trend mixed; ATR 1.10%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9325,
            "reason": "realized volatility proxy 1.47%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 1 matched BTC: $60.4K Becomes 'most important area': Five things to know in Bitcoin this week | Dormant $1.9M Bitcoin tied to New York lawsuit ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.46K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the required threshold for convergence (0 bullish, 2 bearish vs 3 required). Price is trapped in a range-bound regime with mixed technicals: neutral RSI and a MACD gold..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "db75b8bbdfb8fb5b77238cb64ac6253592c4a5ce7d4e59231959ad907e3ddd32"
    },
    {
      "cycleId": "20260706-044444165Z-daab3c15c7",
      "file": "receipts/cycles/20260706-044444165Z-daab3c15c7.json",
      "ts": "2026-07-06T04:44:44.165Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0,
      "counterfactualRawReturnPct": 0,
      "rawDirection": "long",
      "maxAdversePct": 1.6225,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T04:42:59.799Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.93; MACD golden_cross; MA trend mixed; ATR 1.68%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9087,
            "reason": "realized volatility proxy 1.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.36M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is unmet (1 bullish vs 3 required). The market is in a range-bound regime with neutral derivatives positioning and mixed moving averages. The single MACD golden..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "daab3c15c72ac00560e8d68396b869f8a48b8c2b1a93b42c4b4fd461a9944934"
    },
    {
      "cycleId": "20260706-044417038Z-ec3593c6e6",
      "file": "receipts/cycles/20260706-044417038Z-ec3593c6e6.json",
      "ts": "2026-07-06T04:44:17.038Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1079,
      "counterfactualRawReturnPct": 0.1079,
      "rawDirection": "long",
      "maxAdversePct": 0.3174,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T04:42:58.111Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 63.69; MACD golden_cross; MA trend bull; ATR 1.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9414,
            "reason": "realized volatility proxy 1.28%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0045%, open interest 34.75K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators are strongly bullish with a MACD golden cross, RSI at 63.69, and price above key MAs, but signal convergence is insufficient with only 1 bullish source against the requ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ec3593c6e6f6bbab1865d27eb47f9b509f30347e284f3d60e8ecf168c3b21446"
    },
    {
      "cycleId": "20260706-044344281Z-222d0c8627",
      "file": "receipts/cycles/20260706-044344281Z-222d0c8627.json",
      "ts": "2026-07-06T04:43:44.281Z",
      "symbol": "ETHUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.62,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.4456,
      "counterfactualRawReturnPct": 0.4456,
      "rawDirection": "long",
      "maxAdversePct": 0.1312,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-06T04:43:01.090Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 66.52; MACD golden_cross; MA trend bull; ATR 1.42%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9283,
            "reason": "realized volatility proxy 1.57%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Binance outflows triple to $1.2B as ETH withdrawals hit 3-year high | Vitalik Buterin shares top priorities for new 'Lean Ethere..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0044%, open interest 690.12K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.62,
            "reason": "Technical momentum aligns with a MACD golden cross and bullish MA structure, reinforced by on-chain catalysts showing accelerated exchange outflows and renewed ETF buying. Neutral derivativ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "222d0c8627ec782459c4fcb7909b79eb0d113965d7f16ed09026d77c958fa126"
    },
    {
      "cycleId": "20260705-213111669Z-a3dec0a58c",
      "file": "receipts/cycles/20260705-213111669Z-a3dec0a58c.json",
      "ts": "2026-07-05T21:31:11.669Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0412,
      "counterfactualRawReturnPct": 0.0412,
      "rawDirection": "long",
      "maxAdversePct": 1.3335,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T21:29:24.997Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 59.34; MACD golden_cross; MA trend mixed; ATR 1.65%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9103,
            "reason": "realized volatility proxy 1.96%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0038%, open interest 4.31M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is range-bound near 81.52 with mixed momentum, neutral derivatives positioning, and only one confirmed bullish technical signal (MACD golden cross). This falls short of the three-si..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a3dec0a58c35d16e78990dd7aca617d665f24efeda0c980dae38cb5670bd0455"
    },
    {
      "cycleId": "20260705-213039522Z-5d8804ceee",
      "file": "receipts/cycles/20260705-213039522Z-5d8804ceee.json",
      "ts": "2026-07-05T21:30:39.522Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T21:29:23.770Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 62.41; MACD golden_cross; MA trend bull; ATR 0.96%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9523,
            "reason": "realized volatility proxy 1.04%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0050%, open interest 34.75K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is trading in a defined range with balanced derivatives positioning and flat 24h momentum. While one technical layer notes bullish internal structure, broader signal convergence count..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5d8804ceeed40cc9ec846697a3bf41b49273d360690abce2e8084cf9ad8bc67f"
    },
    {
      "cycleId": "20260705-213007915Z-51ee0f8bc7",
      "file": "receipts/cycles/20260705-213007915Z-51ee0f8bc7.json",
      "ts": "2026-07-05T21:30:07.915Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1888,
      "counterfactualRawReturnPct": 0.1888,
      "rawDirection": "long",
      "maxAdversePct": 0.3436,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T21:29:25.932Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 66.87; MACD golden_cross; MA trend bull; ATR 1.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9284,
            "reason": "realized volatility proxy 1.56%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Binance outflows triple to $1.2B as ETH withdrawals hit 3-year high | Vitalik Buterin shares top priorities for new 'Lean Ethere..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0002%, open interest 692.96K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical structure and positive exchange outflows are countered by immediate resistance at 1793, neutral derivative positioning, and a macro risk-off signal. The setup fails the re..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "51ee0f8bc7a16088177cc22e35a0cd466c9c7905b1743f89c79cee39b2b60bbf"
    },
    {
      "cycleId": "20260705-173501918Z-018458b854",
      "file": "receipts/cycles/20260705-173501918Z-018458b854.json",
      "ts": "2026-07-05T17:35:01.918Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0159,
      "rawDirection": "short",
      "maxAdversePct": 3.9029,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T17:33:07.120Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 57.50; MACD golden_cross; MA trend bull; ATR 1.70%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9097,
            "reason": "realized volatility proxy 1.97%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0065%, open interest 4.28M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bearish signal vs 3 required) in a confirmed range regime. Technicals show conflicting signals: short-term momentum leans bearish while medium-term structur..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "018458b85474b3c51bd517b4453c2392e87433042a68044a5578a256200a0fa2"
    },
    {
      "cycleId": "20260705-173433021Z-b48070a4b2",
      "file": "receipts/cycles/20260705-173433021Z-b48070a4b2.json",
      "ts": "2026-07-05T17:34:33.021Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0792,
      "counterfactualRawReturnPct": 0.0792,
      "rawDirection": "long",
      "maxAdversePct": 0.3631,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T17:33:05.496Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 59.71; MACD golden_cross; MA trend mixed; ATR 0.99%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9458,
            "reason": "realized volatility proxy 1.18%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0049%, open interest 34.9K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 of 3 required bullish signals. BTC is range-bound near upper resistance (~63,300) with neutral short-term momentum, balanced derivatives funding (0.0..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b48070a4b2d8b92f97d1c8c98c64a38288c8e59047de3c643960770d57514e65"
    },
    {
      "cycleId": "20260705-173356252Z-7ca3db4b22",
      "file": "receipts/cycles/20260705-173356252Z-7ca3db4b22.json",
      "ts": "2026-07-05T17:33:56.252Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.188,
      "counterfactualRawReturnPct": 0.188,
      "rawDirection": "long",
      "maxAdversePct": 0.4749,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T17:33:08.146Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 66.86; MACD golden_cross; MA trend bull; ATR 1.44%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9188,
            "reason": "realized volatility proxy 1.77%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Binance outflows triple to $1.2B as ETH withdrawals hit 3-year high | Vitalik Buterin shares top priorities for new 'Lean Ethere..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0029%, open interest 703.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical structure leans bullish with a MACD golden cross, price above key moving averages, and a confirmed uptrend regime. However, qualitative and sentiment signals diverge: macro contex..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7ca3db4b2216c7555e80809a6d203cc02cdffbfca71b0e5ebcf0db21d1e4da07"
    },
    {
      "cycleId": "20260705-141327906Z-53f2fd7614",
      "file": "receipts/cycles/20260705-141327906Z-53f2fd7614.json",
      "ts": "2026-07-05T14:13:27.906Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T14:11:38.348Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 58.15; MACD golden_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9075,
            "reason": "realized volatility proxy 2.02%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0047%, open interest 4.34M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails the minimum threshold for execution (1 bullish vs 1 bearish vs 2 neutral). The market is stuck in a range regime with balanced derivatives positioning and mixed sho..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "53f2fd7614266b99a97ed96b66b28bf9e7bbb25054d3681c533a4411747983c1"
    },
    {
      "cycleId": "20260705-141252323Z-325d9987a3",
      "file": "receipts/cycles/20260705-141252323Z-325d9987a3.json",
      "ts": "2026-07-05T14:12:52.323Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1601,
      "counterfactualRawReturnPct": 0.1601,
      "rawDirection": "long",
      "maxAdversePct": 0.4515,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T14:11:37.637Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 64.54; MACD golden_cross; MA trend mixed; ATR 1.45%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.919,
            "reason": "realized volatility proxy 1.77%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0051%, open interest 690.34K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence falls short of the required threshold (2 bullish vs 3 needed). Technicals are mixed: a 4h MACD golden cross and RSI 64.54 suggest upside, but are countered by negative 24..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "325d9987a3b245eb82de23cf0f7ded67e1bc64405e8be3717d0be953a894e6cd"
    },
    {
      "cycleId": "20260705-141219593Z-f304272cfa",
      "file": "receipts/cycles/20260705-141219593Z-f304272cfa.json",
      "ts": "2026-07-05T14:12:19.593Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T14:11:39.650Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 60.39; MACD golden_cross; MA trend mixed; ATR 1.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9437,
            "reason": "realized volatility proxy 1.23%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 1 matched BTC: Bollinger Bands creator eyes Bitcoin bear-market end, 'W'-shaped reversal | Bitcoin, Ether extend relief rallies as extreme fear..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0019%, open interest 34.89K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is range-bound with mixed technicals and balanced derivatives positioning. Signal convergence is unmet (1 bullish vs 1 bearish against a 3-signal requirement), and cautious macro co..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f304272cfab6acaaf2793513e5931b11776353e92d2c4504b834c56f32c9ae20"
    },
    {
      "cycleId": "20260705-103117711Z-d4fcae8049",
      "file": "receipts/cycles/20260705-103117711Z-d4fcae8049.json",
      "ts": "2026-07-05T10:31:17.711Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T10:29:30.928Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.54; MACD golden_cross; MA trend mixed; ATR 1.80%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9121,
            "reason": "realized volatility proxy 1.92%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0009%, open interest 4.42M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the required 3-signal convergence threshold, with only 1 bullish and 1 bearish indicator active. Short-term momentum leans bearish (-2.00% over 24h), directly conflicti..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d4fcae8049e0baa122e68dc28f2005c5efe035d1a59f80f304c3d3e8381bb074"
    },
    {
      "cycleId": "20260705-103049586Z-afbef83d18",
      "file": "receipts/cycles/20260705-103049586Z-afbef83d18.json",
      "ts": "2026-07-05T10:30:49.586Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0758,
      "counterfactualRawReturnPct": 0.0758,
      "rawDirection": "long",
      "maxAdversePct": 0.6437,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T10:29:29.187Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 60.11; MACD golden_cross; MA trend mixed; ATR 1.08%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.944,
            "reason": "realized volatility proxy 1.22%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0042%, open interest 34.66K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 bullish signal against the required 3. BTC is trading in a defined range with balanced derivatives positioning, neutral funding, and unclear market i..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "afbef83d18c0e4f64d4cc69d31bff96b7ef49ca7a084be5e53d82d568b895dac"
    },
    {
      "cycleId": "20260705-103019892Z-f938176652",
      "file": "receipts/cycles/20260705-103019892Z-f938176652.json",
      "ts": "2026-07-05T10:30:19.892Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2313,
      "counterfactualRawReturnPct": 0.2313,
      "rawDirection": "long",
      "maxAdversePct": 0.1071,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T10:29:32.068Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 62.59; MACD golden_cross; MA trend mixed; ATR 1.51%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9137,
            "reason": "realized volatility proxy 1.88%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched ETH: Binance outflows triple to $1.2B as ETH withdrawals hit 3-year high | Vitalik Buterin shares top priorities for new 'Lean Ethere..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0067%, open interest 689.33K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical setup shows bullish momentum via MACD golden cross and uptrend regime, but macro risk-off context and balanced derivatives positioning prevent full signal alignment. Bullish signa..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f938176652a18a831c16333bb2868488d020879df1b5dc80513bbb0a0c1cc10e"
    },
    {
      "cycleId": "20260705-043451427Z-f26f20f4da",
      "file": "receipts/cycles/20260705-043451427Z-f26f20f4da.json",
      "ts": "2026-07-05T04:34:51.427Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T04:32:39.441Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.19; MACD golden_cross; MA trend mixed; ATR 1.79%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9079,
            "reason": "realized volatility proxy 2.01%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0018%, open interest 4.28M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals are split: a MACD golden cross and neutral RSI conflict with negative 24h momentum. Derivatives funding and open interest show balanced positioning, and the asset remains ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f26f20f4da360e8d3f2b1f734b836083db6566edd982e030ce20ac7c5c23f39e"
    },
    {
      "cycleId": "20260705-043409375Z-712bd73af1",
      "file": "receipts/cycles/20260705-043409375Z-712bd73af1.json",
      "ts": "2026-07-05T04:34:09.375Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.3723,
      "counterfactualRawReturnPct": 0.3723,
      "rawDirection": "long",
      "maxAdversePct": 0.2707,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T04:32:38.645Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 66.51; MACD golden_cross; MA trend mixed; ATR 1.50%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9085,
            "reason": "realized volatility proxy 2.00%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 685.83K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish vs 3 required). Despite a confirmed uptrend regime and positive 72h momentum, technicals are neutral with mixed moving averages and balanced derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "712bd73af19248154cd55f96c5b105539aaa7d4a2e1687fb0392cf25b7142484"
    },
    {
      "cycleId": "20260705-043325937Z-4f3e12e62d",
      "file": "receipts/cycles/20260705-043325937Z-4f3e12e62d.json",
      "ts": "2026-07-05T04:33:25.937Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1748,
      "counterfactualRawReturnPct": 0.1748,
      "rawDirection": "long",
      "maxAdversePct": 0.2711,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-05T04:32:40.617Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 63.92; MACD golden_cross; MA trend mixed; ATR 1.05%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9446,
            "reason": "realized volatility proxy 1.21%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bollinger Bands creator eyes Bitcoin bear-market end, 'W'-shaped reversal | Tim Draper denies moving Bitcoin, reiterates $250,00..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0066%, open interest 34.4K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (2 bullish vs 1 bearish vs 3 required). Price is in a range regime and extended above recent resistance without breakout follow-through. Macro risk-off signals..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4f3e12e62dfa6d65f59ce788a339be15214384e2a4c4979d0ca3044bace58f54"
    },
    {
      "cycleId": "20260704-211708432Z-d276c38bdf",
      "file": "receipts/cycles/20260704-211708432Z-d276c38bdf.json",
      "ts": "2026-07-04T21:17:08.432Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2344,
      "counterfactualRawReturnPct": 0.2344,
      "rawDirection": "long",
      "maxAdversePct": 0.7221,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T21:14:54.817Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 64.25; MACD golden_cross; MA trend mixed; ATR 1.84%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9054,
            "reason": "realized volatility proxy 2.06%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0019%, open interest 4.3M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technicals (MACD cross, uptrend regime) are present, but the bullish signal count (2) does not meet the required convergence threshold (3). Price is capped at immediate resistance n..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d276c38bdff0a2d4bba2043f4291d05c596126a40aafb328035aee1723eccdf7"
    },
    {
      "cycleId": "20260704-211626192Z-254b60e227",
      "file": "receipts/cycles/20260704-211626192Z-254b60e227.json",
      "ts": "2026-07-04T21:16:26.192Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.313,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.7881,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T21:14:54.028Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 75.70; MACD golden_cross; MA trend bull; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.907,
            "reason": "realized volatility proxy 2.03%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0082%, open interest 682.17K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Bullish technical and trend signals have converged at the required threshold of three. A confirmed uptrend regime, strong 24h/72h momentum, a MACD golden cross, and price action holding abo..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "254b60e2271d59018c75a6bb256d3f85164a6259924ab7a92df43b71fd9e0c82"
    },
    {
      "cycleId": "20260704-211542727Z-8d70079b0e",
      "file": "receipts/cycles/20260704-211542727Z-8d70079b0e.json",
      "ts": "2026-07-04T21:15:42.727Z",
      "symbol": "BTCUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.5989,
      "counterfactualRawReturnPct": 0.5989,
      "rawDirection": "long",
      "maxAdversePct": 0.7383,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T21:14:56.043Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 71.30; MACD golden_cross; MA trend mixed; ATR 1.08%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9422,
            "reason": "realized volatility proxy 1.26%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bollinger Bands creator eyes Bitcoin bear-market end, 'W'-shaped reversal | Tim Draper denies moving Bitcoin, reiterates $250,00..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0021%, open interest 34.89K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6,
            "reason": "Uptrend regime confirmed with positive 24h/72h momentum and a 4H MACD golden cross. Qualitative catalysts align technically: renewed ETF buying, corporate accumulation, and soft macro data ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8d70079b0e16d3dd7f257de1207785f983db3d56dc900412c547fece0e44f9bb"
    },
    {
      "cycleId": "20260704-173145218Z-0f1e954d4f",
      "file": "receipts/cycles/20260704-173145218Z-0f1e954d4f.json",
      "ts": "2026-07-04T17:31:45.218Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2755,
      "counterfactualRawReturnPct": 0.2755,
      "rawDirection": "long",
      "maxAdversePct": 0.5328,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T17:29:46.307Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 66.49; MACD golden_cross; MA trend mixed; ATR 1.86%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9059,
            "reason": "realized volatility proxy 2.05%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0020%, open interest 4.32M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Uptrend regime and trend-confirmed market intel are offset by neutral technicals, mixed moving averages, and balanced derivatives sentiment. The mandatory convergence threshold requires 3 a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0f1e954d4f90e42c6cebb4546068f43bc365cecd7bb3b79b4ddcbb6cf5a1a432"
    },
    {
      "cycleId": "20260704-173110252Z-0350ace731",
      "file": "receipts/cycles/20260704-173110252Z-0350ace731.json",
      "ts": "2026-07-04T17:31:10.252Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.7,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.3186,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.2887,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T17:29:45.732Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 75.05; MACD golden_cross; MA trend bull; ATR 1.53%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9094,
            "reason": "realized volatility proxy 1.98%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0067%, open interest 689.1K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7,
            "reason": "Convergent bullish signals confirm the ongoing uptrend: strong 24h/72h momentum, MACD golden cross, and price holding above rising moving averages. While RSI shows mild overbought condition..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "0350ace731e361fedca4b1f19055f7aa897c38e4f6da94a5037d41771a2f4c31"
    },
    {
      "cycleId": "20260704-173022844Z-c46ad64321",
      "file": "receipts/cycles/20260704-173022844Z-c46ad64321.json",
      "ts": "2026-07-04T17:30:22.844Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.6361,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.7282,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T17:29:47.209Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 68.74; MACD golden_cross; MA trend mixed; ATR 1.09%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.943,
            "reason": "realized volatility proxy 1.24%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched BTC: Bollinger Bands creator eyes Bitcoin bear-market end, 'W'-shaped reversal | Tim Draper denies moving Bitcoin, reiterates $250,00..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0093%, open interest 35.18K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Technical and qualitative signals converge: confirmed uptrend regime with MACD golden cross and positive momentum aligns with bullish news catalysts including ETF inflows and institutional ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "c46ad643210943ef02c10da06800e56c34c7dfc8863340ba0d19e915a21c2c4b"
    },
    {
      "cycleId": "20260704-140320755Z-53dc535c8f",
      "file": "receipts/cycles/20260704-140320755Z-53dc535c8f.json",
      "ts": "2026-07-04T14:03:20.755Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2347,
      "counterfactualRawReturnPct": 0.2347,
      "rawDirection": "long",
      "maxAdversePct": 0.7611,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T14:01:27.998Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 63.90; MACD golden_cross; MA trend mixed; ATR 1.93%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9055,
            "reason": "realized volatility proxy 2.06%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0057%, open interest 4.32M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish signal count (2) remains below the required convergence threshold (3). While the broader regime is up and MACD shows a golden cross, 24h momentum is muted at 0.6% and derivatives se..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "53dc535c8f22d3ac8f185c50e83537ad13ab18045456330ae19366daf83db8c8"
    },
    {
      "cycleId": "20260704-140249369Z-483611ff21",
      "file": "receipts/cycles/20260704-140249369Z-483611ff21.json",
      "ts": "2026-07-04T14:02:49.369Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.18,
      "counterfactualRawReturnPct": 0.18,
      "rawDirection": "long",
      "maxAdversePct": 0.554,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T14:01:26.397Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 66.08; MACD golden_cross; MA trend mixed; ATR 1.12%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9439,
            "reason": "realized volatility proxy 1.22%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0025%, open interest 35.17K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (2/3 bullish signals). Market is in a range with mixed technicals: RSI is neutral at 66.08, price trades above the upper Bollinger Band suggesting potential ex..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "483611ff2106c6c8a4a25c2f5a18e2888ee4a42d97a6b7da5457a7840e19cdd4"
    },
    {
      "cycleId": "20260704-140211790Z-855d7193b8",
      "file": "receipts/cycles/20260704-140211790Z-855d7193b8.json",
      "ts": "2026-07-04T14:02:11.790Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.1005,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.0863,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T14:01:29.273Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 73.43; MACD golden_cross; MA trend bull; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9152,
            "reason": "realized volatility proxy 1.85%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Revolut to delist USDT in August, citing regulatory and risk concerns | Bitcoin, Ether extend relief rallies as extreme fear mee..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0014%, open interest 691.58K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Technical and qualitative signals converge bullish: the market is in a confirmed uptrend with aligned moving averages, a MACD golden cross, and strong 24h/72h momentum. Qualitative catalyst..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "855d7193b8f067e9e4858c394cc04fdeaa6f50c9d9040409a17dfdee8325b55c"
    },
    {
      "cycleId": "20260704-102914425Z-7e34e2900c",
      "file": "receipts/cycles/20260704-102914425Z-7e34e2900c.json",
      "ts": "2026-07-04T10:29:14.425Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.3904,
      "counterfactualRawReturnPct": 0.3904,
      "rawDirection": "long",
      "maxAdversePct": 0.0067,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T10:27:27.713Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 65.10; MACD golden_cross; MA trend mixed; ATR 2.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8903,
            "reason": "realized volatility proxy 2.39%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0066%, open interest 4.23M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical analysis is neutral with mixed moving averages and RSI at 65.1, while derivatives sentiment and news feeds show balanced to absent catalysts. The broader regime indicates an uptre..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7e34e2900c0f3b6811aefe05672250570cfd862acfa8f0f54397d9733337b134"
    },
    {
      "cycleId": "20260704-102842339Z-7ff4d22950",
      "file": "receipts/cycles/20260704-102842339Z-7ff4d22950.json",
      "ts": "2026-07-04T10:28:42.339Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2724,
      "counterfactualRawReturnPct": 0.2724,
      "rawDirection": "long",
      "maxAdversePct": 0.0094,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T10:27:26.179Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 65.42; MACD golden_cross; MA trend mixed; ATR 1.18%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9391,
            "reason": "realized volatility proxy 1.33%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0030%, open interest 35.1K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 bullish signal against the required 3. Technicals remain neutral with mixed MA trends and balanced derivatives positioning, providing insufficient ed..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7ff4d22950c50f574d5281b3b9773664c8079a3b653d72dc8e48e09c99a9f73b"
    },
    {
      "cycleId": "20260704-102804620Z-0a58b0e025",
      "file": "receipts/cycles/20260704-102804620Z-0a58b0e025.json",
      "ts": "2026-07-04T10:28:04.620Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.4167,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.0573,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T10:27:28.837Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 72.49; MACD golden_cross; MA trend bull; ATR 1.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8729,
            "reason": "realized volatility proxy 2.77%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Bitcoin, Ether extend relief rallies as extreme fear meets renewed ETF buying | Is Bitcoin heading for $65K? Sharplink buys $16M..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0084%, open interest 691.03K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "ETH exhibits a confirmed uptrend backed by strong 72h momentum (+12.15%) and aligned bullish technicals (price above MA stack, MACD golden cross, short-squeeze dynamics). Positive news flow..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "0a58b0e025aba3c882a3a0c7f94b0db29aad6cad99ccd45bbaf0b94740649468"
    },
    {
      "cycleId": "20260704-071922037Z-afead0ddc8",
      "file": "receipts/cycles/20260704-071922037Z-afead0ddc8.json",
      "ts": "2026-07-04T07:19:22.037Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.85,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.4082,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.5978,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T07:17:17.653Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 4,
          "standDown": 0,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 68.71; MACD golden_cross; MA trend bull; ATR 2.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8447,
            "reason": "realized volatility proxy 3.39%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0035%, open interest 4.2M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.85,
            "reason": "Uptrend regime confirmed with 4 converging bullish signals. Price maintains positive momentum (9.21% over 72h) above all key moving averages, supported by a fresh MACD golden cross. Balance..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "afead0ddc85ea909526cd2c11ddbc004f41a71f3fc6ee2c4a13c30bc5ecd9a1d"
    },
    {
      "cycleId": "20260704-071848502Z-6ead350edc",
      "file": "receipts/cycles/20260704-071848502Z-6ead350edc.json",
      "ts": "2026-07-04T07:18:48.502Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.8,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.5747,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.0225,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T07:17:16.853Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 71.57; MACD golden_cross; MA trend bull; ATR 1.63%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.869,
            "reason": "realized volatility proxy 2.86%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0048%, open interest 691.85K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8,
            "reason": "Bullish convergence threshold met (3/3). Strong momentum confirmed by 72h gain of 10.83% and a confirmed uptrend regime. A 4h MACD golden cross and price holding above the MA7/MA25 alignmen..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "6ead350edc3ac6d6af7333bb12da74745a14eb1b6f38ffa82359189e6453d48a"
    },
    {
      "cycleId": "20260704-071808413Z-b310e943ef",
      "file": "receipts/cycles/20260704-071808413Z-b310e943ef.json",
      "ts": "2026-07-04T07:18:08.413Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2426,
      "counterfactualRawReturnPct": 0.2426,
      "rawDirection": "long",
      "maxAdversePct": 1.055,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T07:17:18.953Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 65.72; MACD golden_cross; MA trend mixed; ATR 1.24%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9287,
            "reason": "realized volatility proxy 1.56%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bitcoin, Ether extend relief rallies as extreme fear meets renewed ETF buying | Bitcoin supply metric prints first 'buy' signal ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0006%, open interest 35.1K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum is positive but the overall TA verdict remains neutral with mixed MA alignment and balanced derivatives positioning. Macro context leans risk-off (DXY at 100.86, recent F..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b310e943ef5c57b6976d5abfb6ca5815789a4e11a1b1b9489e383642bfe80af8"
    },
    {
      "cycleId": "20260704-040634083Z-72b20b5151",
      "file": "receipts/cycles/20260704-040634083Z-72b20b5151.json",
      "ts": "2026-07-04T04:06:34.083Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.7,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.4421,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.3029,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T04:05:03.588Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 4,
          "standDown": 0,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 71.39; MACD golden_cross; MA trend bull; ATR 1.89%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8507,
            "reason": "realized volatility proxy 3.26%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0006%, open interest 4.27M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7,
            "reason": "Uptrend regime confirmed by convergent bullish technicals: 10.07% 72h momentum, MACD golden cross, price trading above MA25/MA99, and expanding realized volatility. Four independent bullish..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "72b20b5151f00406eac53ce3ed3ac8b8907fe607c9780d25b32b28fcbb37c562"
    },
    {
      "cycleId": "20260704-040556280Z-57da1f3998",
      "file": "receipts/cycles/20260704-040556280Z-57da1f3998.json",
      "ts": "2026-07-04T04:05:56.280Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.4579,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.7178,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T04:05:02.867Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 4,
          "standDown": 0,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 71.46; MACD golden_cross; MA trend mixed; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8674,
            "reason": "realized volatility proxy 2.89%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 682.55K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Four convergent signals validate an active uptrend with strong 24h/72h momentum and a confirmed MACD golden cross. Price action remains aligned above key moving averages despite an overboug..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "57da1f3998dbe8e14c0f19abf90dc84e7e2c6edd176e2d086291002756f63c0d"
    },
    {
      "cycleId": "20260704-040523836Z-42f61febbb",
      "file": "receipts/cycles/20260704-040523836Z-42f61febbb.json",
      "ts": "2026-07-04T04:05:23.836Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.851,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.7389,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-04T04:05:04.769Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 66.96; MACD golden_cross; MA trend mixed; ATR 1.19%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9258,
            "reason": "realized volatility proxy 1.62%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bitcoin, Ether extend relief rallies as extreme fear meets renewed ETF buying | Bitcoin supply metric prints first 'buy' signal ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0016%, open interest 34.99K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Technical and catalyst convergence favors longs: confirmed uptrend regime, 4H MACD golden cross, positive 24h/72h momentum, and fresh ETF inflows alongside a structural supply buy signal. P..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "42f61febbb9dc95a0b6c4d51d45384e8c341098e180c29867e4031c9de11e891"
    },
    {
      "cycleId": "20260703-213644108Z-e172bf06b2",
      "file": "receipts/cycles/20260703-213644108Z-e172bf06b2.json",
      "ts": "2026-07-03T21:36:44.108Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.68,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.4454,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.9124,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T21:34:12.241Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 4,
          "standDown": 0,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 70.20; MACD golden_cross; MA trend bull; ATR 2.08%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8433,
            "reason": "realized volatility proxy 3.42%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0041%, open interest 4.34M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.68,
            "reason": "Strong uptrend regime confirmed by 4 converging signals: 72h momentum at +12.15%, aligned bullish MAs (price > MA7/MA25/MA99), and a MACD golden cross. While RSI at 70.20 shows short-term o..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "e172bf06b2ce21cbc5b9f63ee2dc477216f302042e399bee70e5cca2c4e926da"
    },
    {
      "cycleId": "20260703-213601654Z-9732fb5f06",
      "file": "receipts/cycles/20260703-213601654Z-9732fb5f06.json",
      "ts": "2026-07-03T21:36:01.654Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.4789,
      "counterfactualRawReturnPct": 0.4789,
      "rawDirection": "long",
      "maxAdversePct": 1.2238,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T21:34:11.449Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 73.26; MACD golden_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8558,
            "reason": "realized volatility proxy 3.15%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0077%, open interest 671.31K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show strong bullish convergence (momentum, MACD golden cross, confirmed uptrend) exceeding the quantitative threshold, but qualitative catalysts are explicitly neutral ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9732fb5f06209b9502dd2b7f9ccca9da60d39d91373fa1855d5d50d1da651da0"
    },
    {
      "cycleId": "20260703-213502113Z-e699066194",
      "file": "receipts/cycles/20260703-213502113Z-e699066194.json",
      "ts": "2026-07-03T21:35:02.113Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.9005,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.4303,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T21:34:13.301Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 66.62; MACD golden_cross; MA trend mixed; ATR 1.31%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9081,
            "reason": "realized volatility proxy 2.01%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched BTC: Bitcoin supply metric prints first 'buy' signal since late 2022 as bear market continues | Irish authorities seize another 500 B..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0093%, open interest 35.05K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Technical and momentum signals converge within a confirmed uptrend regime. The 4h timeframe shows a MACD golden cross and RSI at 66.62, with price sustaining positive 24h/72h momentum above..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "e6990661943d9663b651dc3b08e807034daaba71c76234a4fdf8f9f3cb3235bf"
    },
    {
      "cycleId": "20260703-175247428Z-bb9e82bbbf",
      "file": "receipts/cycles/20260703-175247428Z-bb9e82bbbf.json",
      "ts": "2026-07-03T17:52:47.428Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.76,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2736,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.0335,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T17:51:09.322Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 4,
          "standDown": 0,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 68.84; MACD golden_cross; MA trend bull; ATR 2.07%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8375,
            "reason": "realized volatility proxy 3.54%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0040%, open interest 4.29M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.76,
            "reason": "Strong bullish convergence with 4 aligned signals: confirmed uptrend regime, +10.97% 72h momentum, 4h MA stack in bullish order, and a fresh MACD golden cross. Balanced derivatives funding ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "bb9e82bbbf0c826c81af1792a19d229a93454041b9c4b8299eee3a492d514c57"
    },
    {
      "cycleId": "20260703-175215618Z-69f39cb37c",
      "file": "receipts/cycles/20260703-175215618Z-69f39cb37c.json",
      "ts": "2026-07-03T17:52:15.618Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2274,
      "counterfactualRawReturnPct": 0.2274,
      "rawDirection": "long",
      "maxAdversePct": 1.7459,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T17:51:07.517Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 64.09; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9059,
            "reason": "realized volatility proxy 2.05%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0057%, open interest 35.38K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technicals are present with a confirmed uptrend regime, RSI at 64, and a MACD golden cross, but the convergence threshold is unmet (2 of 3 required signals active). Derivatives posi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "69f39cb37cd406ab9b006b4a6e639a66cad6a3a887c01a45827184d728c9b7f1"
    },
    {
      "cycleId": "20260703-175148201Z-21b875837f",
      "file": "receipts/cycles/20260703-175148201Z-21b875837f.json",
      "ts": "2026-07-03T17:51:48.201Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.1652,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.7446,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T17:51:10.589Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 70.37; MACD golden_cross; MA trend mixed; ATR 1.71%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8578,
            "reason": "realized volatility proxy 3.10%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Is Bitcoin heading for $65K? Sharplink buys $16M ETH: Market Moves | Ripple co-founder backs venture launched by US senator's so..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0073%, open interest 723.43K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Technical and qualitative signals converge for upside: confirmed uptrend regime, strong 72h momentum (+10.05%), 4h MACD golden cross, and news-driven short squeeze with institutional accumu..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "21b875837f719c09ab88b08525f7175bec61211e638b5fe7812dad32a3476097"
    },
    {
      "cycleId": "20260703-143500791Z-c0ff964cfe",
      "file": "receipts/cycles/20260703-143500791Z-c0ff964cfe.json",
      "ts": "2026-07-03T14:35:00.791Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.4289,
      "counterfactualRawReturnPct": 0.4289,
      "rawDirection": "long",
      "maxAdversePct": 1.7242,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T14:33:22.589Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 68.69; MACD golden_cross; MA trend bull; ATR 2.14%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8363,
            "reason": "realized volatility proxy 3.57%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0028%, open interest 4.4M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence requirement of 3 aligned signals is not met (bullish count is 2). Technical momentum is flat, derivatives positioning is balanced, and qualitative catalysts (news/macro) are abs..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c0ff964cfea834476ce09e9ab4843a31ebf9c154261b5421b1faef2734171ce5"
    },
    {
      "cycleId": "20260703-143429318Z-4e4a5c4480",
      "file": "receipts/cycles/20260703-143429318Z-4e4a5c4480.json",
      "ts": "2026-07-03T14:34:29.318Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2345,
      "counterfactualRawReturnPct": 0.2345,
      "rawDirection": "long",
      "maxAdversePct": 1.2293,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T14:33:20.791Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 62.62; MACD golden_cross; MA trend mixed; ATR 1.36%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9002,
            "reason": "realized volatility proxy 2.18%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0051%, open interest 35.74K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical and trend signals fall one short of the required three-signal convergence threshold. Momentum is modest, derivatives positioning is balanced, and moving averages remain mi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4e4a5c44800107a8527d5fc1f4b186f392327c8e4523b4ae95c06c46ed59ad78"
    },
    {
      "cycleId": "20260703-143359409Z-55819fcd3f",
      "file": "receipts/cycles/20260703-143359409Z-55819fcd3f.json",
      "ts": "2026-07-03T14:33:59.409Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.2071,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.2458,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T14:33:24.084Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 70.35; MACD golden_cross; MA trend mixed; ATR 1.78%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8527,
            "reason": "realized volatility proxy 3.21%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Is Bitcoin heading for $65K? Sharplink buys $16M ETH: Market Moves | Ripple co-founder backs venture launched by US senator's so..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0084%, open interest 727.82K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Uptrend confirmed by positive 24h/72h momentum, MACD golden cross, and regime alignment, reinforced by news of a short squeeze lifting prices and institutional accumulation. Overbought RSI ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "55819fcd3f99022bb9fab9e88cfaec664a43b59b5677a462aa6ae4832d7fb72b"
    },
    {
      "cycleId": "20260703-110358248Z-ce124470d3",
      "file": "receipts/cycles/20260703-110358248Z-ce124470d3.json",
      "ts": "2026-07-03T11:03:58.248Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.47,
      "counterfactualRawReturnPct": 0.47,
      "rawDirection": "long",
      "maxAdversePct": 0.8689,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T11:01:45.862Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 69.41; MACD golden_cross; MA trend bull; ATR 2.21%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8227,
            "reason": "realized volatility proxy 3.87%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0087%, open interest 4.5M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical structure is strongly bullish (MACD golden cross, price above MAs), but explicit convergence metrics fall short of the required 3 confirmed bullish signals (only 1 present). Deriv..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ce124470d31809f7180c29f6522913a33e721e9c0fefc32462da3f195480069d"
    },
    {
      "cycleId": "20260703-110317455Z-bcdf987c03",
      "file": "receipts/cycles/20260703-110317455Z-bcdf987c03.json",
      "ts": "2026-07-03T11:03:17.455Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2135,
      "counterfactualRawReturnPct": 0.2135,
      "rawDirection": "long",
      "maxAdversePct": 1.6204,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T11:01:44.564Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 62.48; MACD golden_cross; MA trend mixed; ATR 1.39%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8888,
            "reason": "realized volatility proxy 2.43%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.4K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only two bullish signals are confirmed against a required convergence threshold of three. While the broader regime is an uptrend with a MACD golden cross, neutral short-term momentum, mixed..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bcdf987c030c9c2b83847974360fd06b29f5536725526096723a2fcc0bb5440b"
    },
    {
      "cycleId": "20260703-110226763Z-2c261f26b8",
      "file": "receipts/cycles/20260703-110226763Z-2c261f26b8.json",
      "ts": "2026-07-03T11:02:26.763Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.2867,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.9338,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T11:01:46.806Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 72.77; MACD golden_cross; MA trend mixed; ATR 1.81%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8494,
            "reason": "realized volatility proxy 3.29%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Is Bitcoin heading for $65K? Sharplink buys $16M ETH: Market Moves | Ripple co-founder backs venture launched by US senator's so..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 701.99K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Regime is confirmed uptrend backed by strong 24h/72h momentum (+4.65%/+12.05%) and a MACD golden cross. News flow highlights a broader market short squeeze and a $16M institutional ETH accu..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "2c261f26b8198a25f742cb57f1752feb506ca39d452bc6362610f430db0d5954"
    },
    {
      "cycleId": "20260703-074345537Z-5b576442be",
      "file": "receipts/cycles/20260703-074345537Z-5b576442be.json",
      "ts": "2026-07-03T07:43:45.537Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.27,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.5662,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T07:41:08.473Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 68.75; MACD golden_cross; MA trend bull; ATR 2.26%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8213,
            "reason": "realized volatility proxy 3.90%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0068%, open interest 4.58M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Bullish convergence threshold met with three aligned signals: sustained 24h/72h momentum, a confirmed uptrend regime, and a strong technical structure showing a MACD golden cross and price ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "5b576442be6b142b148ce822d3720bc1072343b4d3943c6426662a4bed027aad"
    },
    {
      "cycleId": "20260703-074244735Z-f8e60859b8",
      "file": "receipts/cycles/20260703-074244735Z-f8e60859b8.json",
      "ts": "2026-07-03T07:42:44.735Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.7,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.252,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.6712,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T07:41:07.312Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 61.79; MACD golden_cross; MA trend mixed; ATR 1.43%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8876,
            "reason": "realized volatility proxy 2.45%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.3K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7,
            "reason": "Three independent signals converge on a bullish bias within a low-volatility range. Positive 24h/72h momentum and a confirmed trend structure align with a 4h MACD golden cross and price sus..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "f8e60859b86338ebea2c88267bc444fc6cf72822a08693752fee1c6660b25964"
    },
    {
      "cycleId": "20260703-074207840Z-b2f22520a4",
      "file": "receipts/cycles/20260703-074207840Z-b2f22520a4.json",
      "ts": "2026-07-03T07:42:07.840Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2592,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.2008,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T07:41:09.791Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 69.76; MACD golden_cross; MA trend mixed; ATR 1.82%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8491,
            "reason": "realized volatility proxy 3.29%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Is Bitcoin heading for $65K? Sharplink buys $16M ETH: Market Moves | Ripple co-founder backs venture launched by US senator's so..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0074%, open interest 707.85K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Technical and qualitative signals converge in an established uptrend. Price exhibits strong 24h/72h momentum, a confirmed MACD golden cross, and has cleared recent resistance near $1625. Ne..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "b2f22520a4ff4fd5f493f89d50b4a14a778b9355eb5f70e069dcfe1163689143"
    },
    {
      "cycleId": "20260703-041347406Z-d2cd74f85e",
      "file": "receipts/cycles/20260703-041347406Z-d2cd74f85e.json",
      "ts": "2026-07-03T04:13:47.406Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.68,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2448,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 3.0355,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T04:11:40.329Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 66.63; MACD golden_cross; MA trend mixed; ATR 2.22%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8155,
            "reason": "realized volatility proxy 4.03%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0042%, open interest 4.65M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.68,
            "reason": "SOL/USDT exhibits a confirmed uptrend with robust 24h and 72h momentum, reinforced by a MACD golden cross and balanced funding. The bullish technical and regime signals meet the convergence..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "d2cd74f85ef6a056f04035d99c5b1eac6fad4042ea8b205370f8bc83fb94814a"
    },
    {
      "cycleId": "20260703-041305285Z-99ede85d8a",
      "file": "receipts/cycles/20260703-041305285Z-99ede85d8a.json",
      "ts": "2026-07-03T04:13:05.285Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1205,
      "rawDirection": "long",
      "maxAdversePct": 3.037,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T04:11:38.902Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 59.00; MACD golden_cross; MA trend mixed; ATR 1.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8848,
            "reason": "realized volatility proxy 2.51%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.23K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum and a MACD golden cross lean bullish, but only 2 of the 3 required convergent signals are present. The asset remains range-bound with balanced derivatives positioning and..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "99ede85d8a4f12cacb2abd88fbd1a2c9de15757564b6b785272b850a70ae741d"
    },
    {
      "cycleId": "20260703-041226485Z-e84d781a06",
      "file": "receipts/cycles/20260703-041226485Z-e84d781a06.json",
      "ts": "2026-07-03T04:12:26.485Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.234,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.7,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-03T04:11:41.312Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 67.76; MACD golden_cross; MA trend mixed; ATR 1.78%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8444,
            "reason": "realized volatility proxy 3.40%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched ETH: Is Bitcoin heading for $65K? Sharplink buys $16M ETH: Market Moves | Ripple co-founder backs venture launched by US senator's so..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0099%, open interest 699.08K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Uptrend regime confirmed by strong 24h/72h momentum and a MACD golden cross. Positive institutional catalysts and broader market strength align with a technical breakout above key moving av..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "e84d781a06d35dd79367541409c2c46df5f5eb0b492fd27bb3e9a0c6740e7c4b"
    },
    {
      "cycleId": "20260702-213703172Z-cc7b791018",
      "file": "receipts/cycles/20260702-213703172Z-cc7b791018.json",
      "ts": "2026-07-02T21:37:03.172Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.78,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2808,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 4.3352,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T21:35:04.188Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 68.08; MACD golden_cross; MA trend bull; ATR 2.39%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8162,
            "reason": "realized volatility proxy 4.01%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0003%, open interest 4.78M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.78,
            "reason": "Converged bullish signals across momentum, regime, and technical indicators meet the required threshold. SOLUSDT holds a confirmed uptrend with 3.82% 24h and 7.40% 72h momentum, a 4h MACD g..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "cc7b791018e44055f2bd8d0920af0fea0363dc25a690b2d1d8c05a1357ce080c"
    },
    {
      "cycleId": "20260702-213615567Z-d61f2369e7",
      "file": "receipts/cycles/20260702-213615567Z-d61f2369e7.json",
      "ts": "2026-07-02T21:36:15.567Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0845,
      "rawDirection": "long",
      "maxAdversePct": 4.0853,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T21:35:02.144Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 60.54; MACD golden_cross; MA trend mixed; ATR 1.54%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.886,
            "reason": "realized volatility proxy 2.49%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0069%, open interest 35.11K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show a mild bullish bias via MACD golden cross and positive short-term momentum, but the asset remains trapped in a range-bound regime with balanced derivatives positio..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d61f2369e78ade7c01b9fe022f0fd6a3aefcb857c18a2e3bb28d3dfb92ded177"
    },
    {
      "cycleId": "20260702-213551027Z-9cead07951",
      "file": "receipts/cycles/20260702-213551027Z-9cead07951.json",
      "ts": "2026-07-02T21:35:51.027Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.234,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 3.8665,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T21:35:05.291Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 67.36; MACD golden_cross; MA trend mixed; ATR 1.91%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.847,
            "reason": "realized volatility proxy 3.34%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: The biggest blockchain upgrades still to come in 2026 | OFAC sanctions 134 ISIS-K crypto wallet addresses as Tether freezes fund..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0059%, open interest 706.54K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Technical and qualitative signals converge for a long position. ETH maintains an uptrend regime with strong 24h/72h momentum, a confirmed MACD golden cross, and price pushing above upper Bo..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "9cead079517ff23a2ef3a06251953f1498c986846b71189a37346c09a5e8c8a3"
    },
    {
      "cycleId": "20260702-180548434Z-242cd2a651",
      "file": "receipts/cycles/20260702-180548434Z-242cd2a651.json",
      "ts": "2026-07-02T18:05:48.434Z",
      "symbol": "ETHUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.216,
      "counterfactualRawReturnPct": 0.537,
      "rawDirection": "long",
      "maxAdversePct": 4.1406,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T18:03:31.731Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 67.19; MACD golden_cross; MA trend mixed; ATR 2.01%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.847,
            "reason": "realized volatility proxy 3.34%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0055%, open interest 712.48K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6,
            "reason": "Bullish 24h/72h momentum (4.96%/4.46%) converges with a MACD golden cross and RSI at 67.19, satisfying the 3-signal convergence threshold. Price is pressing above local resistance (~1605-16..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "242cd2a6512f230abdb088ba1a74179d831c01d34d5013351fc380c9f67d751f"
    },
    {
      "cycleId": "20260702-180507012Z-fada5ed5fb",
      "file": "receipts/cycles/20260702-180507012Z-fada5ed5fb.json",
      "ts": "2026-07-02T18:05:07.012Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0946,
      "rawDirection": "long",
      "maxAdversePct": 4.1448,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T18:03:30.959Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 62.07; MACD death_cross; MA trend mixed; ATR 1.61%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.887,
            "reason": "realized volatility proxy 2.47%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0020%, open interest 35.1K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed technical signals within a range-bound regime prevent trade execution. Only one bullish momentum signal is present, offset by a 4h MACD death cross, neutral RSI, and balanced derivati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "fada5ed5fb3e0b46c73ebcfde67c90630d01963693f3b2849ac4b23b9b672f92"
    },
    {
      "cycleId": "20260702-180420413Z-34d31f6a92",
      "file": "receipts/cycles/20260702-180420413Z-34d31f6a92.json",
      "ts": "2026-07-02T18:04:20.413Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.27,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 4.6018,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T18:03:33.653Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 67.69; MACD golden_cross; MA trend bull; ATR 2.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8167,
            "reason": "realized volatility proxy 4.00%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched SOL: The biggest blockchain upgrades still to come in 2026 | Solana Foundation launches framework for protocol-level governance | US ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0006%, open interest 4.8M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Technicals confirm a sustained uptrend backed by a MACD golden cross, bullish moving average alignment, and strong 24h/72h momentum. This technical strength converges with positive fundamen..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "34d31f6a928010979b2b333e8e8e78bce18bdfe452289ccdcda354eb844292d5"
    },
    {
      "cycleId": "20260702-143316053Z-508d521e2f",
      "file": "receipts/cycles/20260702-143316053Z-508d521e2f.json",
      "ts": "2026-07-02T14:33:16.053Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.27,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.8691,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T14:30:56.857Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 67.30; MACD golden_cross; MA trend bull; ATR 2.58%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8172,
            "reason": "realized volatility proxy 3.99%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0028%, open interest 4.85M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Bullish technical convergence meets the required threshold: positive short-to-medium term momentum, a confirmed MACD golden cross, and price trading above all key moving averages in an esta..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "508d521e2f86b4e704703c16540f3ac52417d1a456eab1d58c1bd96c4207509a"
    },
    {
      "cycleId": "20260702-143230465Z-8547ea08c9",
      "file": "receipts/cycles/20260702-143230465Z-8547ea08c9.json",
      "ts": "2026-07-02T14:32:30.465Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1228,
      "rawDirection": "long",
      "maxAdversePct": 3.5021,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T14:30:55.466Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 62.09; MACD death_cross; MA trend mixed; ATR 1.63%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8865,
            "reason": "realized volatility proxy 2.48%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0039%, open interest 35.45K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is range-bound near 61,700. While 24h/72h momentum is positive, core indicators conflict with a MACD death cross and neutral RSI (62.09). Derivatives show balanced positioning and s..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8547ea08c9f117474a69740825c984dc5feb78a25e3efaae502b1688e8d8747d"
    },
    {
      "cycleId": "20260702-143147188Z-425e53f625",
      "file": "receipts/cycles/20260702-143147188Z-425e53f625.json",
      "ts": "2026-07-02T14:31:47.188Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2592,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.1694,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T14:30:59.862Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 67.77; MACD golden_cross; MA trend mixed; ATR 2.07%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8477,
            "reason": "realized volatility proxy 3.32%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: The biggest blockchain upgrades still to come in 2026 | OFAC sanctions 134 ISIS-K crypto wallet addresses as Tether freezes fund..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0041%, open interest 715.18K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Uptrend regime confirmed with bullish technical convergence (MACD golden cross, positive multi-day momentum, price above key moving averages) aligning with fresh ETH institutional catalysts..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "425e53f625cea0b857a03961d7ebcd87d7500c1a0b753b46d6d5b2cb01fb78f6"
    },
    {
      "cycleId": "20260702-110446481Z-59e253a1c5",
      "file": "receipts/cycles/20260702-110446481Z-59e253a1c5.json",
      "ts": "2026-07-02T11:04:46.481Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.7,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.5842,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.4171,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T11:02:31.183Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 59.69; MACD golden_cross; MA trend mixed; ATR 1.92%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8637,
            "reason": "realized volatility proxy 2.97%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0047%, open interest 706.08K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7,
            "reason": "Three technical signals converge bullish: 4h MACD golden cross, strong 24h/72h momentum (4.80%/4.43%), and price holding above key moving averages. While derivatives positioning is balanced..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "59e253a1c52de681c04a2a8667e1c908a48f82ff94d4baeb2ea570929f041c7e"
    },
    {
      "cycleId": "20260702-110413397Z-47fa36d7db",
      "file": "receipts/cycles/20260702-110413397Z-47fa36d7db.json",
      "ts": "2026-07-02T11:04:13.397Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1097,
      "rawDirection": "long",
      "maxAdversePct": 3.0077,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T11:02:30.613Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 59.31; MACD death_cross; MA trend mixed; ATR 1.64%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8773,
            "reason": "realized volatility proxy 2.68%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0061%, open interest 35.08K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC remains locked in a range-bound regime with conflicting technicals: short-term momentum is positive but contradicted by a MACD death cross, mixed moving averages, and neutral RSI. Deriv..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "47fa36d7db8969db7e60eaf142bc5b4a9697d9a6203aaf917731403b01fe0193"
    },
    {
      "cycleId": "20260702-110332918Z-cede82c190",
      "file": "receipts/cycles/20260702-110332918Z-cede82c190.json",
      "ts": "2026-07-02T11:03:32.918Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.234,
      "counterfactualRawReturnPct": 1.259,
      "rawDirection": "long",
      "maxAdversePct": 2.4697,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "momentum_not_extreme"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T11:02:32.860Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 74.14; MACD golden_cross; MA trend bull; ATR 2.50%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8123,
            "reason": "realized volatility proxy 4.09%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Solana Foundation launches framework for protocol-level governance | Ethereum backers launch nonprofit to lead institutional ado..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0008%, open interest 4.92M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Technical and qualitative signals converge bullishly. SOL maintains a confirmed uptrend with strong 24h/72h momentum, price holding above all key MAs, and a MACD golden cross. Fundamental c..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Avoid chasing a move after an extreme 24h impulse.",
          "failedChecks": [
            "momentum_not_extreme"
          ]
        }
      },
      "checksum": "cede82c190cc9a2be399a8d4bd7a42369477559136d1632d5bd097b2bddcd394"
    },
    {
      "cycleId": "20260702-043444620Z-250dabc497",
      "file": "receipts/cycles/20260702-043444620Z-250dabc497.json",
      "ts": "2026-07-02T04:34:44.620Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1241,
      "rawDirection": "long",
      "maxAdversePct": 2.0327,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T04:32:39.559Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 58.19; MACD death_cross; MA trend mixed; ATR 1.84%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8684,
            "reason": "realized volatility proxy 2.87%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0059%, open interest 717.65K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold of 3 aligned signals is not met, with only one bullish technical indicator against multiple neutral macro and sentiment readings. ETH remains range-bound with mixed mo..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "250dabc497cc2365497ebaf6591aeeec35190d4445d3b5124f47e7cd05fa3a87"
    },
    {
      "cycleId": "20260702-043414076Z-00f7072898",
      "file": "receipts/cycles/20260702-043414076Z-00f7072898.json",
      "ts": "2026-07-02T04:34:14.076Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0469,
      "rawDirection": "long",
      "maxAdversePct": 3.7853,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T04:32:38.777Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 57.61; MACD death_cross; MA trend mixed; ATR 1.54%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8839,
            "reason": "realized volatility proxy 2.53%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0033%, open interest 34.55K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence requirement of 3 aligned signals is unmet with only 1 weak bullish momentum indicator against a MACD death cross and neutral derivatives sentiment. Price remains range-bound wit..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "00f7072898e6ada94b5094d4275357fe547ec4b25a447770fbd256f1928bde09"
    },
    {
      "cycleId": "20260702-043339858Z-9d99a16874",
      "file": "receipts/cycles/20260702-043339858Z-9d99a16874.json",
      "ts": "2026-07-02T04:33:39.858Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.68,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.9774,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.6689,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-02T04:32:41.673Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 66.72; MACD golden_cross; MA trend bull; ATR 2.35%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8445,
            "reason": "realized volatility proxy 3.39%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Ethereum backers launch nonprofit to lead institutional adoption efforts | Circle CEO touts USDC's network advantage as OUSD eme..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0019%, open interest 4.39M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.68,
            "reason": "Technical uptrend confirmed by positive 72h momentum, MACD golden cross, and price holding above key moving averages. SOL-specific catalysts including a $38M corporate treasury accumulation..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "9d99a168747d9fa6e9334fdbc85c2de742177a5f1a20a586f7aff1d30ce43ba6"
    },
    {
      "cycleId": "20260701-215224677Z-c7107f4d24",
      "file": "receipts/cycles/20260701-215224677Z-c7107f4d24.json",
      "ts": "2026-07-01T21:52:24.677Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.2956,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.48,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T21:50:23.086Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 68.53; MACD golden_cross; MA trend bull; ATR 2.43%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8501,
            "reason": "realized volatility proxy 3.27%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0087%, open interest 4.29M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "SOL/USDT exhibits a confirmed uptrend with strong 72h momentum (+11.40%). Three convergence-aligned signals (candle momentum, trend confirmation, and MACD golden cross with a bullish MA sta..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "c7107f4d24ffe7dde327b7c66b99ac7a21efda3aeff7d0c61d8b12b63618e685"
    },
    {
      "cycleId": "20260701-215144368Z-13b0ade083",
      "file": "receipts/cycles/20260701-215144368Z-13b0ade083.json",
      "ts": "2026-07-01T21:51:44.368Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0833,
      "rawDirection": "long",
      "maxAdversePct": 2.9946,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T21:50:21.465Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 58.46; MACD death_cross; MA trend mixed; ATR 1.49%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8935,
            "reason": "realized volatility proxy 2.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0049%, open interest 34.57K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish vs 0 bearish, requires 3). Price remains trapped in a range-bound regime with conflicting 4h technicals: short-term momentum shows mild upside, but ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "13b0ade08372361ede4140b5709c130e9219132a7b847336268d9c732ba5b0c0"
    },
    {
      "cycleId": "20260701-215106564Z-d1ba458ab3",
      "file": "receipts/cycles/20260701-215106564Z-d1ba458ab3.json",
      "ts": "2026-07-01T21:51:06.564Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1419,
      "counterfactualRawReturnPct": 0.1419,
      "rawDirection": "long",
      "maxAdversePct": 1.3996,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T21:50:24.236Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 58.39; MACD death_cross; MA trend mixed; ATR 1.80%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8782,
            "reason": "realized volatility proxy 2.66%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched ETH: Bitcoin bounces off 21-month low, but leverage data signals caution: Was $57K the bottom? | Ethereum backers launch nonprofit to..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0001%, open interest 721.86K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish momentum and an uptrend regime are contradicted by a 4h MACD death cross, price stalling at key $1625.6 resistance, risk-off macro signals, and significant ETH ETF outflows warning ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d1ba458ab3e19d5041210dc0146e5422629f8012ef4ef3f9f0f8c65993352cc0"
    },
    {
      "cycleId": "20260701-181941885Z-32d0c8797f",
      "file": "receipts/cycles/20260701-181941885Z-32d0c8797f.json",
      "ts": "2026-07-01T18:19:41.885Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1232,
      "counterfactualRawReturnPct": 0.1232,
      "rawDirection": "long",
      "maxAdversePct": 1.661,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T18:18:08.711Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 57.25; MACD death_cross; MA trend mixed; ATR 1.85%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8789,
            "reason": "realized volatility proxy 2.64%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0015%, open interest 723.51K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 2 bullish signals against the required 3. Technicals show mixed conditions (neutral RSI, MACD death cross, mixed MAs) in a range-bound regime, and deri..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "32d0c8797fbf484a41079115b1e09b1d468318167e296f1d89f8088f4096d290"
    },
    {
      "cycleId": "20260701-181908915Z-172fedb946",
      "file": "receipts/cycles/20260701-181908915Z-172fedb946.json",
      "ts": "2026-07-01T18:19:08.915Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T18:18:07.921Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 53.39; MACD death_cross; MA trend mixed; ATR 1.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8996,
            "reason": "realized volatility proxy 2.19%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0009%, open interest 35.06K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack convergence with only 1 bullish and 1 bearish indicator against the required threshold of 3. BTC remains in a defined ranging regime with neutral funding rates and balanced der..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "172fedb946fb14c378f3e04e9ffdaba9bae2bd107755894dc5e6b7461349fac8"
    },
    {
      "cycleId": "20260701-181850358Z-2ef3e0e44e",
      "file": "receipts/cycles/20260701-181850358Z-2ef3e0e44e.json",
      "ts": "2026-07-01T18:18:50.358Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.2355,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.693,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T18:18:10.884Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 68.10; MACD golden_cross; MA trend bull; ATR 2.43%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8532,
            "reason": "realized volatility proxy 3.20%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Ethereum backers launch nonprofit to lead institutional adoption efforts | Circle CEO touts USDC's network advantage as OUSD eme..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0111%, open interest 4.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Technical indicators confirm a strong uptrend with a MACD golden cross, price holding above key moving averages, and positive 24h/72h momentum. This aligns with bullish qualitative catalyst..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "2ef3e0e44e64d383622c36d772b23bcd052718479271f1f78bfdf0efe94b3793"
    },
    {
      "cycleId": "20260701-151515043Z-185e01d1e0",
      "file": "receipts/cycles/20260701-151515043Z-185e01d1e0.json",
      "ts": "2026-07-01T15:15:15.043Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0992,
      "counterfactualRawReturnPct": 0.0992,
      "rawDirection": "long",
      "maxAdversePct": 1.6041,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T15:13:32.161Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 55.27; MACD death_cross; MA trend mixed; ATR 1.84%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8545,
            "reason": "realized volatility proxy 3.18%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0027%, open interest 707.64K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 bullish signal versus the 3 required. ETH is range-bound near 1610 with neutral RSI, a MACD death cross, balanced derivatives funding, and conflictin..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "185e01d1e0517532fd73d057e654b81175c344eaf031834b372ce220812449e3"
    },
    {
      "cycleId": "20260701-151448736Z-5ae3be5dfa",
      "file": "receipts/cycles/20260701-151448736Z-5ae3be5dfa.json",
      "ts": "2026-07-01T15:14:48.736Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T15:13:31.228Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.87; MACD death_cross; MA trend mixed; ATR 1.49%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9005,
            "reason": "realized volatility proxy 2.17%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0043%, open interest 35.3K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals are split with only one bullish and one bearish reading, failing the required convergence threshold of three. Price remains trapped in a range-bound regime with balanced funding/OI ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5ae3be5dfa3c00cc8af92a626dbee5c0f75924d73caec4928692b70cee9b1496"
    },
    {
      "cycleId": "20260701-151420674Z-402acba1f4",
      "file": "receipts/cycles/20260701-151420674Z-402acba1f4.json",
      "ts": "2026-07-01T15:14:20.674Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.234,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.5686,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T15:13:34.107Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 66.31; MACD golden_cross; MA trend bull; ATR 2.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8467,
            "reason": "realized volatility proxy 3.34%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Circle CEO touts USDC's network advantage as OUSD emerges | Mysterious Solana project World unveiled as fully onchain prediction..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0003%, open interest 4.36M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Technical and qualitative signals converge bullish. Price maintains a confirmed uptrend with solid 24h/72h momentum, supported by a MACD golden cross and price trading above all key moving ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "402acba1f462e6181c6684993b2d3b55871d25add2daf53f4a7219f0d3b034fc"
    },
    {
      "cycleId": "20260701-113548093Z-1ee9eb6e09",
      "file": "receipts/cycles/20260701-113548093Z-1ee9eb6e09.json",
      "ts": "2026-07-01T11:35:48.093Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0183,
      "rawDirection": "long",
      "maxAdversePct": 2.0596,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T11:33:29.746Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 45.51; MACD death_cross; MA trend bear; ATR 1.77%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.866,
            "reason": "realized volatility proxy 2.92%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0083%, open interest 708.89K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1/3 required). While 24h momentum shows minor upside, the broader technical picture is strongly bearish with a MACD death cross and price trading below..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1ee9eb6e09e74d058c9708023c21654ee7dcad816b9c881bef232032254d6d7f"
    },
    {
      "cycleId": "20260701-113514053Z-cd949ff39e",
      "file": "receipts/cycles/20260701-113514053Z-cd949ff39e.json",
      "ts": "2026-07-01T11:35:14.053Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T11:33:28.960Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 39.46; MACD death_cross; MA trend bear; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9144,
            "reason": "realized volatility proxy 1.87%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0082%, open interest 34.94K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with all primary signals showing neutral or unclear bias. Despite bearish 4h technicals (MACD death cross, declining MAs), there is no directional convergence across t..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cd949ff39ef14e78af1a163b87808ab8de6f656d0b722ba342fa4bce2f960152"
    },
    {
      "cycleId": "20260701-113433920Z-c23bde91b1",
      "file": "receipts/cycles/20260701-113433920Z-c23bde91b1.json",
      "ts": "2026-07-01T11:34:33.920Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.62,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.2232,
      "counterfactualRawReturnPct": 0.502,
      "rawDirection": "long",
      "maxAdversePct": 2.8186,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T11:33:31.611Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 59.43; MACD golden_cross; MA trend bull; ATR 2.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8584,
            "reason": "realized volatility proxy 3.09%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Solana Company to back Kazakhstan’s $6B crypto megacity ambition | Coinbase embeds Solana trading | Fixing crypto’s broken inves..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0003%, open interest 4.29M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.62,
            "reason": "Positive Solana news catalysts converge with strong technical momentum, a confirmed MACD golden cross, and price holding above key moving averages. Despite a range-bound regime, the setup f..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c23bde91b1020e73e68a4d330d6fdd108c475976147b6c9e4e36efe348532b93"
    },
    {
      "cycleId": "20260701-045755525Z-c73ddc08c8",
      "file": "receipts/cycles/20260701-045755525Z-c73ddc08c8.json",
      "ts": "2026-07-01T04:57:55.525Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0827,
      "rawDirection": "short",
      "maxAdversePct": 4.4536,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T04:56:02.745Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 52.63; MACD death_cross; MA trend mixed; ATR 1.71%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8701,
            "reason": "realized volatility proxy 2.83%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0062%, open interest 712.43K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bearish signal vs 3 required). ETH remains in a range-bound regime with mixed technicals (MACD death cross offset by neutral RSI and mixed moving averages), b..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c73ddc08c88e9abf85cae40cd16bd334e283192a75d41e828272d812106d21e7"
    },
    {
      "cycleId": "20260701-045721691Z-83ee600d61",
      "file": "receipts/cycles/20260701-045721691Z-83ee600d61.json",
      "ts": "2026-07-01T04:57:21.691Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0442,
      "counterfactualRawReturnPct": 0.0442,
      "rawDirection": "short",
      "maxAdversePct": 1.3235,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T04:56:01.773Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 45.07; MACD death_cross; MA trend mixed; ATR 1.36%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9164,
            "reason": "realized volatility proxy 1.82%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0038%, open interest 35.22K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only 1 bearish signal detected against the 3 required for trade convergence. BTC is trading in a range regime with neutral short-term momentum, balanced derivatives positioning, and mixed m..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "83ee600d61a2ea8948f1f3490f25eda788049311589a97abd50a7f7a7435fb13"
    },
    {
      "cycleId": "20260701-045651158Z-3529465bc0",
      "file": "receipts/cycles/20260701-045651158Z-3529465bc0.json",
      "ts": "2026-07-01T04:56:51.158Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2966,
      "counterfactualRawReturnPct": 0.2966,
      "rawDirection": "long",
      "maxAdversePct": 1.0312,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-07-01T04:56:04.577Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 62.97; MACD golden_cross; MA trend bull; ATR 2.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8636,
            "reason": "realized volatility proxy 2.98%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Solana Company to back Kazakhstan’s $6B crypto megacity ambition | Celsius-linked Bitcoin miner Ionic Digital seeks Nasdaq direc..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.32M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators are bullish with confirmed uptrend momentum and a MACD golden cross, but price is pressing against immediate resistance at $75.98. Qualitative signals lack alignment: m..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3529465bc027c341a67e86b0a52bd8dde78d8962ef98316873f26c8f8ffde74a"
    },
    {
      "cycleId": "20260630-215042094Z-bf5f3db4b2",
      "file": "receipts/cycles/20260630-215042094Z-bf5f3db4b2.json",
      "ts": "2026-06-30T21:50:42.094Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T21:48:43.164Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.87; MACD golden_cross; MA trend mixed; ATR 2.35%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.848,
            "reason": "realized volatility proxy 3.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.28M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold is not met, with only one bullish and one bearish technical signal active. The asset is trading in a defined range regime with balanced derivatives positioning and no ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bf5f3db4b23421b85b8b34799e6e2095ee1d2127dad29b6d4b3edd6cec0fd8e3"
    },
    {
      "cycleId": "20260630-215007342Z-90328488b0",
      "file": "receipts/cycles/20260630-215007342Z-90328488b0.json",
      "ts": "2026-06-30T21:50:07.342Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0963,
      "counterfactualRawReturnPct": 0.0963,
      "rawDirection": "short",
      "maxAdversePct": 1.2687,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T21:48:41.590Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 36.44; MACD death_cross; MA trend bear; ATR 1.34%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9077,
            "reason": "realized volatility proxy 2.01%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical momentum and MACD death cross are noted, but convergence requirements are unmet with only one bearish signal against a required three. Ranging regime conditions, balanced ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "90328488b06a5bc890ffb92f9a47649fd13ef3101c303aacc35c9e9da75522df"
    },
    {
      "cycleId": "20260630-214931726Z-66ab919938",
      "file": "receipts/cycles/20260630-214931726Z-66ab919938.json",
      "ts": "2026-06-30T21:49:31.726Z",
      "symbol": "ETHUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1944,
      "counterfactualRawReturnPct": 0.0209,
      "rawDirection": "short",
      "maxAdversePct": 4.0558,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T21:48:44.245Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.56; MACD death_cross; MA trend mixed; ATR 1.70%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8649,
            "reason": "realized volatility proxy 2.95%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Bitmine Ether buys eclipsed by $345M ETH ETF $345M outflows: Is sub $1.5K next? | Financial companies join forces for US dollar ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0061%, open interest 703.71K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6,
            "reason": "Technical indicators align bearish with a 4h MACD death cross, declining momentum, and RSI below 50. Macro and news context add downside pressure via $345M ETH ETF outflows and broader risk..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "66ab919938cd76b780d50d58b0deed6735c9de2e4eca8dcf7942e564e341ccda"
    },
    {
      "cycleId": "20260630-181828011Z-f0d76d297f",
      "file": "receipts/cycles/20260630-181828011Z-f0d76d297f.json",
      "ts": "2026-06-30T18:18:28.011Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T18:16:22.215Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.05; MACD golden_cross; MA trend mixed; ATR 2.45%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8463,
            "reason": "realized volatility proxy 3.35%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.22M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Conflicting technical signals (bullish MACD golden cross vs bearish 24h momentum) and a range-bound market fail to meet the required 3-signal convergence threshold. Balanced derivatives fun..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f0d76d297f0c329e99fdaf254f6a6b8a246f03c10e7a1abd834f8b923c8cc876"
    },
    {
      "cycleId": "20260630-181751755Z-32d8d48199",
      "file": "receipts/cycles/20260630-181751755Z-32d8d48199.json",
      "ts": "2026-06-30T18:17:51.755Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1199,
      "counterfactualRawReturnPct": 0.1199,
      "rawDirection": "short",
      "maxAdversePct": 0.8173,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T18:16:21.040Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 34.02; MACD death_cross; MA trend bear; ATR 1.37%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9082,
            "reason": "realized volatility proxy 2.00%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 35.29K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical structure is evident, but signal convergence fails the required threshold (1 confirmed bearish vs 3 needed). Range-bound regime, balanced derivatives positioning, and abse..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "32d8d4819956e8f6321efcbdbd4f7b00d6ffcbccf79023ca1d8c998b9661833e"
    },
    {
      "cycleId": "20260630-181709672Z-196e7c9fea",
      "file": "receipts/cycles/20260630-181709672Z-196e7c9fea.json",
      "ts": "2026-06-30T18:17:09.672Z",
      "symbol": "ETHUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1944,
      "counterfactualRawReturnPct": 0.0546,
      "rawDirection": "short",
      "maxAdversePct": 3.5509,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T18:16:23.109Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.91; MACD death_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8632,
            "reason": "realized volatility proxy 2.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched ETH: Bitmine lifts Ether holdings to 5.7M as it joins Russell 1000 | Bitcoin faces critical test as bulls aim to hold $60K: Did BTC b..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0099%, open interest 710.7K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6,
            "reason": "Bearish convergence confirmed: technical momentum is fading (-3.2% 24h) with a MACD death cross, RSI below neutral, and price trading below the MA7/MA25 cluster. Macro risk-off sentiment an..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "196e7c9fea30cf598701e3dc970f756023450edcfa013ed26e52b73e8d8cde54"
    },
    {
      "cycleId": "20260630-144701602Z-98d0246e71",
      "file": "receipts/cycles/20260630-144701602Z-98d0246e71.json",
      "ts": "2026-06-30T14:47:01.602Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0503,
      "rawDirection": "long",
      "maxAdversePct": 4.0286,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T14:45:07.026Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.23; MACD golden_cross; MA trend mixed; ATR 2.49%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8412,
            "reason": "realized volatility proxy 3.47%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0050%, open interest 4.33M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 bullish signal against the required 3. SOLUSDT is trading in a range-bound regime with neutral 24h/72h momentum, balanced derivatives positioning, an..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "98d0246e71b58b8f71c1bd6522e816ff99904028c17cfa19b5cec85f6101fd0b"
    },
    {
      "cycleId": "20260630-144629091Z-4c6725eebc",
      "file": "receipts/cycles/20260630-144629091Z-4c6725eebc.json",
      "ts": "2026-06-30T14:46:29.091Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0898,
      "counterfactualRawReturnPct": 0.0898,
      "rawDirection": "short",
      "maxAdversePct": 1.9114,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T14:45:06.246Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 43.78; MACD death_cross; MA trend mixed; ATR 1.81%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8633,
            "reason": "realized volatility proxy 2.98%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0059%, open interest 701.56K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold of 3 aligned signals is not met. Only one bearish technical indicator is present within a range-bound regime, while derivatives positioning, market intel, and macro fe..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4c6725eebc647b39d1044f99581668e83136882f3fb731543703018361dea279"
    },
    {
      "cycleId": "20260630-144554410Z-8ca406462b",
      "file": "receipts/cycles/20260630-144554410Z-8ca406462b.json",
      "ts": "2026-06-30T14:45:54.410Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1276,
      "counterfactualRawReturnPct": 0.1276,
      "rawDirection": "short",
      "maxAdversePct": 0.0235,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T14:45:10.619Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 36.01; MACD death_cross; MA trend bear; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9086,
            "reason": "realized volatility proxy 1.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bitcoin faces critical test as bulls aim to hold $60K: Did BTC bottom? | Bitcoin put-call ratio hits 1-year high: Are bears prep..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.65K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Range-bound regime with only 2 of 3 required bearish signals converging. Price already broke near-term support and trades outside the lower Bollinger band, increasing bounce risk. Macro ris..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8ca406462badfd328e37538893add1f983439160d1728b1f5fdb47b304ea470c"
    },
    {
      "cycleId": "20260630-112423485Z-849750357d",
      "file": "receipts/cycles/20260630-112423485Z-849750357d.json",
      "ts": "2026-06-30T11:24:23.485Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0623,
      "rawDirection": "long",
      "maxAdversePct": 3.6464,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T11:22:36.528Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.00; MACD golden_cross; MA trend mixed; ATR 2.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8593,
            "reason": "realized volatility proxy 3.07%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0044%, open interest 4.36M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOLUSDT is consolidating in a range-bound regime with balanced derivatives positioning and neutral momentum. While a 4H MACD golden cross suggests mild upside potential, it lacks confirmati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "849750357dedc3cc04ce8fc2797acf9b6b8e71e95518aabc79b8163cec4b0170"
    },
    {
      "cycleId": "20260630-112347839Z-82f150cd3d",
      "file": "receipts/cycles/20260630-112347839Z-82f150cd3d.json",
      "ts": "2026-06-30T11:23:47.839Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0278,
      "rawDirection": "short",
      "maxAdversePct": 2.854,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T11:22:35.748Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.20; MACD death_cross; MA trend mixed; ATR 1.78%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.878,
            "reason": "realized volatility proxy 2.66%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0091%, open interest 678.31K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold unmet with only one bearish technical reading against the required three. ETHUSDT is range-bound with neutral momentum, mixed MA alignment, and balanced derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "82f150cd3d0076fd8b922bcdceb5529badbaf50415dc3e115022da2635a56859"
    },
    {
      "cycleId": "20260630-112316778Z-d00ffeba46",
      "file": "receipts/cycles/20260630-112316778Z-d00ffeba46.json",
      "ts": "2026-06-30T11:23:16.778Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0846,
      "counterfactualRawReturnPct": 0.0846,
      "rawDirection": "short",
      "maxAdversePct": 0.6142,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T11:22:37.760Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 39.39; MACD death_cross; MA trend bear; ATR 1.37%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9212,
            "reason": "realized volatility proxy 1.72%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bitcoin faces critical test as bulls aim to hold $60K: Did BTC bottom? | Bitcoin put-call ratio hits 1-year high: Are bears prep..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.45K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show bearish momentum with price below key moving averages and a MACD death cross, but the market remains range-bound with balanced derivatives funding and neutral sent..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d00ffeba4618459f439fd60fb523e878fb49fbda420fe5e4599f231d82416247"
    },
    {
      "cycleId": "20260630-043757784Z-3744df5170",
      "file": "receipts/cycles/20260630-043757784Z-3744df5170.json",
      "ts": "2026-06-30T04:37:57.784Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1121,
      "rawDirection": "long",
      "maxAdversePct": 3.3444,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T04:36:15.964Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 58.22; MACD golden_cross; MA trend bull; ATR 2.37%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8527,
            "reason": "realized volatility proxy 3.21%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.22M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold of 3 confirmed signals is not met; only 1 bullish technical signal is active. Despite positive momentum and a MACD golden cross, the asset remains in a ranging regime ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3744df5170298151b98c39f36cb3b17bb81af5905c75f1b8a8bee45966f49945"
    },
    {
      "cycleId": "20260630-043726429Z-e46134d61b",
      "file": "receipts/cycles/20260630-043726429Z-e46134d61b.json",
      "ts": "2026-06-30T04:37:26.429Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T04:36:14.701Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 43.21; MACD death_cross; MA trend bear; ATR 1.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9201,
            "reason": "realized volatility proxy 1.74%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 34.27K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is range-bound near $59,600 with mixed 4H technicals and balanced derivatives positioning. While short-term momentum and moving averages lean bearish, convergence metrics show zero conf..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e46134d61b88df8c89b5e49759db57f3e33dc70670b7c17a6504a7c3a7819f5d"
    },
    {
      "cycleId": "20260630-043655399Z-db322f27bb",
      "file": "receipts/cycles/20260630-043655399Z-db322f27bb.json",
      "ts": "2026-06-30T04:36:55.399Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0206,
      "rawDirection": "short",
      "maxAdversePct": 3.4684,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-30T04:36:16.862Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 48.72; MACD death_cross; MA trend mixed; ATR 1.81%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8769,
            "reason": "realized volatility proxy 2.69%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Bitmine lifts Ether holdings to 5.7M as it joins Russell 1000 | Bitcoin faces critical test as bulls aim to hold $60K: Did BTC b..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0080%, open interest 666.28K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show a bearish MACD death cross and neutral RSI within a range-bound market, while the macro backdrop remains risk-off following recent FOMC activity. Positive corporat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "db322f27bb15d683a5482932c55064aad9f5aabb5518a07bcc950ae9f8b379cf"
    },
    {
      "cycleId": "20260629-214759121Z-910405a27d",
      "file": "receipts/cycles/20260629-214759121Z-910405a27d.json",
      "ts": "2026-06-29T21:47:59.121Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1085,
      "counterfactualRawReturnPct": 0.1085,
      "rawDirection": "long",
      "maxAdversePct": 1.9926,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T21:45:33.537Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 57.24; MACD death_cross; MA trend mixed; ATR 1.85%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8835,
            "reason": "realized volatility proxy 2.54%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0004%, open interest 660.76K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish vs 0 bearish against a required 3). Range-bound market with conflicting signals: short-term momentum is positive but offset by a MACD death cross, m..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "910405a27d4e560eda2eb938af751b734dc087ccff0eadca48af2c74b4c6fb70"
    },
    {
      "cycleId": "20260629-214717791Z-7ac59e8d9c",
      "file": "receipts/cycles/20260629-214717791Z-7ac59e8d9c.json",
      "ts": "2026-06-29T21:47:17.791Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T21:45:32.896Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.61; MACD death_cross; MA trend mixed; ATR 1.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9249,
            "reason": "realized volatility proxy 1.64%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 34.19K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals are conflicted (1 bullish, 1 bearish), failing the required threshold of 3 converging signals. Price is range-bound with balanced derivatives sentiment and mixed 4h struct..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7ac59e8d9c4389ab110666e92d89f1ba1cb82bdb3478e1b2ad01ff99d7e3f3d3"
    },
    {
      "cycleId": "20260629-214640850Z-3b54e4ac44",
      "file": "receipts/cycles/20260629-214640850Z-3b54e4ac44.json",
      "ts": "2026-06-29T21:46:40.850Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.55,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.198,
      "counterfactualRawReturnPct": 0.5152,
      "rawDirection": "long",
      "maxAdversePct": 3.0445,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T21:45:35.224Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 65.39; MACD golden_cross; MA trend bull; ATR 2.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8558,
            "reason": "realized volatility proxy 3.15%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Prediction-market operational consolidation could spur M&A wave: Bernstein | Kalshi and Polymarket could become M&A targets as p..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0025%, open interest 4.32M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.55,
            "reason": "Technical setup shows a confirmed uptrend with strong momentum (+7.71% 24h), MACD golden cross, and price holding above all major moving averages. Balanced funding and low VIX reduce squeez..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3b54e4ac443373e674b5f5721d7ff402fe3f42ea55acf06cee7ef65ef48e7120"
    },
    {
      "cycleId": "20260629-182717666Z-2560c1c22a",
      "file": "receipts/cycles/20260629-182717666Z-2560c1c22a.json",
      "ts": "2026-06-29T18:27:17.666Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1809,
      "rawDirection": "long",
      "maxAdversePct": 3.4087,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T18:25:17.609Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 65.80; MACD golden_cross; MA trend bull; ATR 2.60%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8528,
            "reason": "realized volatility proxy 3.21%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.49M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish signal vs 3 required). Price is trading extended above key resistance and the upper Bollinger band within a range regime, while derivatives funding,..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2560c1c22a33417dcac1b5d34c7aa83ac78b9ea51e194903833398e81f2818a9"
    },
    {
      "cycleId": "20260629-182641608Z-e33e5d44ec",
      "file": "receipts/cycles/20260629-182641608Z-e33e5d44ec.json",
      "ts": "2026-06-29T18:26:41.608Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T18:25:15.786Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.11; MACD death_cross; MA trend mixed; ATR 1.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.923,
            "reason": "realized volatility proxy 1.68%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0065%, open interest 34.35K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and qualitative signals fail to meet the 3-signal convergence requirement, showing only a 1-1 bullish/bearish split. BTC remains range-bound near $60.4k with conflicting indicator..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e33e5d44ec82ee988970bd168926684b0a7b74b42b19bde241a9ab240e4867b6"
    },
    {
      "cycleId": "20260629-182601945Z-be44195a39",
      "file": "receipts/cycles/20260629-182601945Z-be44195a39.json",
      "ts": "2026-06-29T18:26:01.945Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T18:25:19.149Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 58.63; MACD death_cross; MA trend mixed; ATR 1.92%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8803,
            "reason": "realized volatility proxy 2.61%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Germany leads MiCA crypto authorization race as Europe’s deadline looms | Ether treasury Sharplink bought $62.4M ETH last week |..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0042%, open interest 656.19K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT remains range-bound with conflicting signals. Short-term momentum is mildly bullish, but a MACD death cross, mixed moving averages, balanced derivatives positioning, and post-FOMC r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "be44195a392080c16ddc6da500f91327ff2450e423952362d59b99da53fc7c12"
    },
    {
      "cycleId": "20260629-124507274Z-7d111b73d8",
      "file": "receipts/cycles/20260629-124507274Z-7d111b73d8.json",
      "ts": "2026-06-29T12:45:07.274Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0388,
      "rawDirection": "short",
      "maxAdversePct": 3.2809,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T12:43:18.676Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 43.91; MACD death_cross; MA trend mixed; ATR 1.78%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9104,
            "reason": "realized volatility proxy 1.95%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0036%, open interest 700.19K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only one bearish signal against the three required. Price remains range-bound near 1574 with neutral funding, balanced open interest, and mixed technical in..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7d111b73d8ff9a6acb998f7cb1a0aafda7d52ac56accbe94d726bef89d8f2fd3"
    },
    {
      "cycleId": "20260629-124433495Z-a3ea985870",
      "file": "receipts/cycles/20260629-124433495Z-a3ea985870.json",
      "ts": "2026-06-29T12:44:33.495Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0248,
      "rawDirection": "short",
      "maxAdversePct": 2.278,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T12:43:17.893Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.38; MACD death_cross; MA trend mixed; ATR 1.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9306,
            "reason": "realized volatility proxy 1.51%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0055%, open interest 34.33K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bearish signal vs 3 required). Momentum is flat, derivatives positioning is balanced, and price is trading in a defined range without a directional c..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a3ea985870ffc1079d7d42c802076c9b6485fa0206217b5c654767f2bff2460f"
    },
    {
      "cycleId": "20260629-124408377Z-1f8bc42f18",
      "file": "receipts/cycles/20260629-124408377Z-1f8bc42f18.json",
      "ts": "2026-06-29T12:44:08.377Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1671,
      "counterfactualRawReturnPct": 0.1671,
      "rawDirection": "long",
      "maxAdversePct": 1.0691,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T12:43:20.588Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 59.47; MACD golden_cross; MA trend bull; ATR 2.51%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8596,
            "reason": "realized volatility proxy 3.06%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched SOL: Prediction-market operational consolidation could spur M&A wave: Bernstein | SOL reclaims $72, but onchain data flags weakening ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0030%, open interest 4.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum is positive with a MACD golden cross and rising MAs, but price is consolidating near resistance within a confirmed range regime. Onchain metrics flag weakening momentum, ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1f8bc42f18e40731a17d2bd83aebd065da98c7d035ede22d7bfdc82761ca007a"
    },
    {
      "cycleId": "20260629-050336705Z-75ebd6d92a",
      "file": "receipts/cycles/20260629-050336705Z-75ebd6d92a.json",
      "ts": "2026-06-29T05:03:36.705Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T05:01:50.464Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 43.52; MACD death_cross; MA trend bear; ATR 1.75%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9128,
            "reason": "realized volatility proxy 1.90%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0035%, open interest 728.39K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is consolidating in a range-bound regime with muted 24h/72h momentum (~0.36%/0.15%). While one technical feed flags a strong bearish bias (MACD death cross, bearish MA trend), the o..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "75ebd6d92ade009825b6110449d2161d5edea083f54e9bb83d755b0a686e4248"
    },
    {
      "cycleId": "20260629-050304300Z-9d8daa8836",
      "file": "receipts/cycles/20260629-050304300Z-9d8daa8836.json",
      "ts": "2026-06-29T05:03:04.300Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T05:01:49.896Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 43.13; MACD death_cross; MA trend bear; ATR 1.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9331,
            "reason": "realized volatility proxy 1.46%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0033%, open interest 34.11K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is trading in a defined range with balanced derivatives positioning and no converging directional signals. Technical structure shows bearish momentum (MACD death cross, bearish MAs) ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9d8daa8836333c46952e623f6def760bb87a872eb9adfdd140f646e724f66874"
    },
    {
      "cycleId": "20260629-050231349Z-f5093f6786",
      "file": "receipts/cycles/20260629-050231349Z-f5093f6786.json",
      "ts": "2026-06-29T05:02:31.349Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0.25,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.09,
      "counterfactualRawReturnPct": 0.0524,
      "rawDirection": "long",
      "maxAdversePct": 3.6867,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-29T05:01:51.839Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.38; MACD golden_cross; MA trend mixed; ATR 2.45%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8701,
            "reason": "realized volatility proxy 2.83%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: SOL reclaims $72, but onchain data flags weakening momentum | SBI's $289 million Bitbank deal is symptomatic of Japan's crypto c..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0034%, open interest 4.28M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.25,
            "reason": "Technical indicators show a mild bullish skew via MACD golden cross and positive short-term momentum, but price remains confined to a range near $71.60 with neutral RSI (52.4) and mixed mov..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f5093f6786547a8ce0955ae43a7a931a2d9a3389c977e75559bed975817353c3"
    },
    {
      "cycleId": "20260628-213308245Z-4c60bf4a9b",
      "file": "receipts/cycles/20260628-213308245Z-4c60bf4a9b.json",
      "ts": "2026-06-28T21:33:08.245Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T21:31:16.084Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 41.98; MACD death_cross; MA trend bear; ATR 1.68%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9271,
            "reason": "realized volatility proxy 1.59%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0043%, open interest 716.3K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is consolidating in a range-bound regime with balanced derivatives positioning and zero signal convergence (0 bullish/0 bearish vs 3 required). While internal technicals flag bearis..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4c60bf4a9b99d2d9e4d0410b15ab0a3067e8c816594aa0e7698c332b09dd9946"
    },
    {
      "cycleId": "20260628-213236590Z-fdfe195ca6",
      "file": "receipts/cycles/20260628-213236590Z-fdfe195ca6.json",
      "ts": "2026-06-28T21:32:36.590Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0059,
      "counterfactualRawReturnPct": 0.0059,
      "rawDirection": "short",
      "maxAdversePct": 1.9207,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T21:31:15.510Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 41.68; MACD death_cross; MA trend bear; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9475,
            "reason": "realized volatility proxy 1.15%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 33.76K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technicals (MACD death cross, price below key moving averages, weak negative momentum) are present but fail to meet the required convergence threshold of 3 confirming signals. The m..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "fdfe195ca6e5b1ae7e01fe6d04405a176649b0897f00bc32b492fc2819fab129"
    },
    {
      "cycleId": "20260628-213200302Z-e1b6083132",
      "file": "receipts/cycles/20260628-213200302Z-e1b6083132.json",
      "ts": "2026-06-28T21:32:00.302Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1856,
      "rawDirection": "long",
      "maxAdversePct": 2.667,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T21:31:17.744Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.23; MACD golden_cross; MA trend mixed; ATR 2.27%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8935,
            "reason": "realized volatility proxy 2.32%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: SOL reclaims $72, but onchain data flags weakening momentum | SBI's $289 million Bitbank deal is symptomatic of Japan's crypto c..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0071%, open interest 4.41M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals show a MACD golden cross and an uptrend regime, but 24h momentum is negative, moving averages are mixed, and derivatives funding is neutral. This partial bullish setup con..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e1b608313244d238c9796f180a2889bb6fad6114e63b50797521d5939a5315f1"
    },
    {
      "cycleId": "20260628-173903687Z-e27cccc0a9",
      "file": "receipts/cycles/20260628-173903687Z-e27cccc0a9.json",
      "ts": "2026-06-28T17:39:03.687Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2894,
      "counterfactualRawReturnPct": 0.2894,
      "rawDirection": "long",
      "maxAdversePct": 0.4458,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T17:36:53.848Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.83; MACD golden_cross; MA trend mixed; ATR 2.29%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8863,
            "reason": "realized volatility proxy 2.48%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0085%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technicals and confirmed uptrend regime are offset by negative 24h momentum and balanced derivatives positioning. The bullish signal count (2) falls below the required convergence t..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e27cccc0a9b22c295197d036bcd36ec0e95e43062bf8f660fbd6fa6fbb8d8af8"
    },
    {
      "cycleId": "20260628-173820560Z-f254b6a837",
      "file": "receipts/cycles/20260628-173820560Z-f254b6a837.json",
      "ts": "2026-06-28T17:38:20.560Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0098,
      "rawDirection": "short",
      "maxAdversePct": 2.7301,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T17:36:52.321Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 39.08; MACD death_cross; MA trend bear; ATR 1.37%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9435,
            "reason": "realized volatility proxy 1.23%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0083%, open interest 33.98K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical structure leans bearish (MACD death cross, price below 25/99 MAs, RSI 39), but the quantitative convergence threshold is unmet with only 1 explicit bearish signal against the 3 re..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f254b6a837ab12fdbc6f4eadaca2fd6f56be68c18a3acfe90728bbd3053c3ef7"
    },
    {
      "cycleId": "20260628-173744677Z-ef44e80967",
      "file": "receipts/cycles/20260628-173744677Z-ef44e80967.json",
      "ts": "2026-06-28T17:37:44.677Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.243,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 3.3233,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T17:36:55.239Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 39.82; MACD death_cross; MA trend bear; ATR 1.72%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.926,
            "reason": "realized volatility proxy 1.61%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Old Ether wallets move 37,806 ETH as whale conviction faces key test at $1.5K | Ethereum whale who shorted October 2025 crash op..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0078%, open interest 712.5K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.75,
            "reason": "Technical, macro, and news signals converge bearishly. Price trades below key moving averages with negative momentum and a confirmed MACD death cross on the 4h. The macro backdrop is risk-o..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "ef44e809674c11c256fe49e3d6f8bb1e1a0f812dd16897b308c1b7d6a1e051c4"
    },
    {
      "cycleId": "20260628-142026244Z-617e77b5cd",
      "file": "receipts/cycles/20260628-142026244Z-617e77b5cd.json",
      "ts": "2026-06-28T14:20:26.244Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.047,
      "rawDirection": "short",
      "maxAdversePct": 3.1625,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T14:18:12.056Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 43.61; MACD death_cross; MA trend bear; ATR 1.75%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9183,
            "reason": "realized volatility proxy 1.78%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0040%, open interest 720.44K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met with only 1 bearish signal against the required 3. ETH is range-bound near 1579 with balanced derivatives funding and neutral momentum. While technicals show a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "617e77b5cdc74935a7179ac1258cfe89cd5f3c8ab0b8151f8afd73f52d774452"
    },
    {
      "cycleId": "20260628-141946760Z-0ff3580344",
      "file": "receipts/cycles/20260628-141946760Z-0ff3580344.json",
      "ts": "2026-06-28T14:19:46.760Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0537,
      "rawDirection": "short",
      "maxAdversePct": 2.7547,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T14:18:11.071Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 43.79; MACD death_cross; MA trend bear; ATR 1.38%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9315,
            "reason": "realized volatility proxy 1.49%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0082%, open interest 33.8K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold requires 3 aligned signals but only 1 bearish technical signal is active. BTC is trapped in a ranging regime with balanced derivatives and absent macro/news catalysts,..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0ff3580344fbd4ce3e654383fd3e092d683154cd7392dd101c11e6a1c36da6aa"
    },
    {
      "cycleId": "20260628-141910475Z-64ffde8e0c",
      "file": "receipts/cycles/20260628-141910475Z-64ffde8e0c.json",
      "ts": "2026-06-28T14:19:10.475Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T14:18:14.035Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.64; MACD golden_cross; MA trend mixed; ATR 2.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8691,
            "reason": "realized volatility proxy 2.86%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: SOL reclaims $72, but onchain data flags weakening momentum | Aave, Solana ecosystem tokens lead crypto rebound as bitcoin stead..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0021%, open interest 4.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals are evenly split (2 bullish, 2 bearish), failing the required convergence threshold for entry. While the broader regime remains in an uptrend with a MACD golden cross and positive e..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "64ffde8e0c6688f05b67da53b5e81e21a58d50a7141bacf505dea4aee0ac3a93"
    },
    {
      "cycleId": "20260628-103817353Z-cc1d22357e",
      "file": "receipts/cycles/20260628-103817353Z-cc1d22357e.json",
      "ts": "2026-06-28T10:38:17.353Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1491,
      "rawDirection": "long",
      "maxAdversePct": 7.5767,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T10:36:27.761Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 41.85; MACD death_cross; MA trend bear; ATR 1.82%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8896,
            "reason": "realized volatility proxy 2.41%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0045%, open interest 704.42K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish, 0 bearish vs 3 required). Technicals lean bearish but price is trapped in a range, derivatives positioning is balanced, and news/macro feeds are si..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cc1d22357edfe17ce46d9c0c740e12f42ee0aebe0ba95039d2cad1dfac548731"
    },
    {
      "cycleId": "20260628-103744440Z-45a541268d",
      "file": "receipts/cycles/20260628-103744440Z-45a541268d.json",
      "ts": "2026-06-28T10:37:44.440Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T10:36:26.806Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 43.51; MACD death_cross; MA trend bear; ATR 1.43%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9071,
            "reason": "realized volatility proxy 2.03%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0057%, open interest 33.7K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT remains range-bound with zero directional convergence despite some bearish 4h technical readings. Short-term momentum is flat, derivatives positioning is balanced with neutral fundi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "45a541268dc292f013b2cdb2d436958980e58b7696074c0fe096e81babcbe290"
    },
    {
      "cycleId": "20260628-103711879Z-7113e23d3d",
      "file": "receipts/cycles/20260628-103711879Z-7113e23d3d.json",
      "ts": "2026-06-28T10:37:11.879Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1745,
      "rawDirection": "long",
      "maxAdversePct": 6.256,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T10:36:29.601Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.61; MACD golden_cross; MA trend mixed; ATR 2.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8433,
            "reason": "realized volatility proxy 3.42%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: SOL reclaims $72, but onchain data flags weakening momentum | Aave, Solana ecosystem tokens lead crypto rebound as bitcoin stead..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0029%, open interest 4.47M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and qualitative signals do not converge for a directional entry. While regime is uptrend and MACD shows a golden cross, short-term momentum is negative, RSI is neutral at 52.6, an..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7113e23d3d66652dcaa92417f9892a12a0c5dbc24d2f6ebafd2d468a3d63cd7c"
    },
    {
      "cycleId": "20260628-045629041Z-16710aeb67",
      "file": "receipts/cycles/20260628-045629041Z-16710aeb67.json",
      "ts": "2026-06-28T04:56:29.041Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T04:54:36.227Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.06; MACD golden_cross; MA trend mixed; ATR 2.43%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8196,
            "reason": "realized volatility proxy 3.94%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0021%, open interest 4.29M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold of 3 is unmet; technical signals are split 1 bullish vs 1 bearish with market intel and derivatives data neutral/unclear. The asset remains in a range-bound regime wit..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "16710aeb67b52eae9a9ca7fb2f876bca7984dd75a6b305241e1e25293b30311e"
    },
    {
      "cycleId": "20260628-045559594Z-d077e95034",
      "file": "receipts/cycles/20260628-045559594Z-d077e95034.json",
      "ts": "2026-06-28T04:55:59.594Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T04:54:34.642Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 44.07; MACD death_cross; MA trend bear; ATR 1.43%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8986,
            "reason": "realized volatility proxy 2.21%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 33.69K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT remains confined to a range-bound regime with balanced derivatives positioning and zero directional signal convergence. Although underlying MAs and MACD lean bearish, aggregate mome..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d077e95034a7a92d82a3382268e3b4dc5ee397e0b5191ee5990ad7680e09a2f6"
    },
    {
      "cycleId": "20260628-045523651Z-340f0bc9c5",
      "file": "receipts/cycles/20260628-045523651Z-340f0bc9c5.json",
      "ts": "2026-06-28T04:55:23.651Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-28T04:54:37.537Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 41.89; MACD death_cross; MA trend bear; ATR 1.86%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8781,
            "reason": "realized volatility proxy 2.66%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched ETH: Old Ether wallets move 37,806 ETH as whale conviction faces key test at $1.5K | Ethereum whale who shorted October 2025 crash op..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0077%, open interest 720.08K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical structure (MACD death cross, bearish MAs, RSI below 50) and negative macro/news catalysts (FOMC overhang, $19.7M whale short, $1.5K psychological test) are present, but qu..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "340f0bc9c5a1af1e0eaad6405f8acd8225e21f1382eba411dcb7212a31a9faa6"
    },
    {
      "cycleId": "20260627-213332047Z-f0ab448244",
      "file": "receipts/cycles/20260627-213332047Z-f0ab448244.json",
      "ts": "2026-06-27T21:33:32.047Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T21:31:36.267Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 43.86; MACD death_cross; MA trend bear; ATR 1.98%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8392,
            "reason": "realized volatility proxy 3.51%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0030%, open interest 715.07K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals show zero convergence against a required threshold of three. Price is trapped in a ranging regime with mixed technicals (bearish MACD cross vs neutral RSI and Bollinger placement) a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f0ab448244d85fe679940295ce19bee486740447e4ea81df5fb77dc750b2b79f"
    },
    {
      "cycleId": "20260627-213252316Z-a9347ec502",
      "file": "receipts/cycles/20260627-213252316Z-a9347ec502.json",
      "ts": "2026-06-27T21:32:52.316Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0406,
      "counterfactualRawReturnPct": 0.0406,
      "rawDirection": "short",
      "maxAdversePct": 1.4566,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T21:31:35.554Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.09; MACD death_cross; MA trend mixed; ATR 1.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8604,
            "reason": "realized volatility proxy 3.05%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0038%, open interest 33.53K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is unmet with only one bearish technical reading against the required three. BTC remains trapped in a defined range with balanced derivatives positioning and mi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a9347ec50221445de0852a7b0159c46cb474d47a646d8fe965fc97c226ea6410"
    },
    {
      "cycleId": "20260627-213227227Z-1ea760039e",
      "file": "receipts/cycles/20260627-213227227Z-1ea760039e.json",
      "ts": "2026-06-27T21:32:27.227Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1997,
      "rawDirection": "long",
      "maxAdversePct": 6.0053,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T21:31:38.122Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.34; MACD golden_cross; MA trend mixed; ATR 2.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7887,
            "reason": "realized volatility proxy 4.61%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: SOL reclaims $72, but onchain data flags weakening momentum | Aave, Solana ecosystem tokens lead crypto rebound as bitcoin stead..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0023%, open interest 4.36M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Uptrend regime and MACD golden cross are offset by macro risk-off sentiment, fading 24h momentum, and onchain metrics showing weakening strength. Derivatives positioning is balanced and ove..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1ea760039ee5b3e6778a7d79ca3699e44cc4d8e45d151cced00756dea9b2a08e"
    },
    {
      "cycleId": "20260627-173415820Z-ddd47bd290",
      "file": "receipts/cycles/20260627-173415820Z-ddd47bd290.json",
      "ts": "2026-06-27T17:34:15.820Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T17:32:26.010Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 45.22; MACD death_cross; MA trend mixed; ATR 2.02%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8364,
            "reason": "realized volatility proxy 3.57%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0008%, open interest 715.58K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is range-bound with conflicting inputs: minor short-term bullish momentum is offset by 4H bearish technicals (MACD death cross, mixed MAs) and neutral derivatives positioning. The c..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ddd47bd2904dce950500d28fe7f2f6ca5d03c0f46cfea0cfa2b7b091cc1cae72"
    },
    {
      "cycleId": "20260627-173342568Z-b4c06e0c60",
      "file": "receipts/cycles/20260627-173342568Z-b4c06e0c60.json",
      "ts": "2026-06-27T17:33:42.568Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T17:32:25.231Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.29; MACD death_cross; MA trend mixed; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8558,
            "reason": "realized volatility proxy 3.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0055%, open interest 33.66K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals do not meet the required convergence threshold of 3. The market is in a defined range with neutral sentiment, balanced funding/OI, and mixed technicals (RSI neutral, MACD death cros..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b4c06e0c60acfe84b47c54575d4bfeab38be79ce848cc0c37878e54bff41e8ce"
    },
    {
      "cycleId": "20260627-173308419Z-928bb80ca4",
      "file": "receipts/cycles/20260627-173308419Z-928bb80ca4.json",
      "ts": "2026-06-27T17:33:08.419Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.3729,
      "rawDirection": "long",
      "maxAdversePct": 3.1777,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T17:32:28.018Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.21; MACD golden_cross; MA trend mixed; ATR 2.61%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7837,
            "reason": "realized volatility proxy 4.72%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: SOL reclaims $72, but onchain data flags weakening momentum | Aave, Solana ecosystem tokens lead crypto rebound as bitcoin stead..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0047%, open interest 4.44M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum shows bullish undertones with a recent MACD golden cross and an established uptrend regime, but macro conditions remain risk-off following the June FOMC statement and onc..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "928bb80ca4d21d3042c7d1c1563590afa6099582cb488eb460ffc901fa5e1246"
    },
    {
      "cycleId": "20260627-141039961Z-f24106031f",
      "file": "receipts/cycles/20260627-141039961Z-f24106031f.json",
      "ts": "2026-06-27T14:10:39.961Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0026,
      "rawDirection": "short",
      "maxAdversePct": 4.4584,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T14:08:46.088Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.28; MACD death_cross; MA trend mixed; ATR 2.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.837,
            "reason": "realized volatility proxy 3.56%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0011%, open interest 725.23K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only 1 of 4 real signals is bearish, falling short of the 3 required for convergence. The asset is in a range regime with neutral momentum, mixed moving averages, and balanced derivatives p..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f24106031fc9f9267cb2293bf2bc29c1f6bc51d4d88402dd6fe251defb89ac44"
    },
    {
      "cycleId": "20260627-140955205Z-dc69c8cb57",
      "file": "receipts/cycles/20260627-140955205Z-dc69c8cb57.json",
      "ts": "2026-06-27T14:09:55.205Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0474,
      "rawDirection": "short",
      "maxAdversePct": 3.5353,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T14:08:45.329Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.16; MACD death_cross; MA trend mixed; ATR 1.62%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.855,
            "reason": "realized volatility proxy 3.16%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0018%, open interest 33.96K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is trading in a defined range with neutral short-term momentum and balanced derivatives positioning. Only one technical indicator shows bearish divergence (MACD death cross), failing th..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "dc69c8cb577998cc3214419540b088c44489cf134015a39b5f01156639ec6930"
    },
    {
      "cycleId": "20260627-140922717Z-d8ef6f53b5",
      "file": "receipts/cycles/20260627-140922717Z-d8ef6f53b5.json",
      "ts": "2026-06-27T14:09:22.717Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.3501,
      "rawDirection": "long",
      "maxAdversePct": 3.7718,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T14:08:47.931Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.00; MACD golden_cross; MA trend mixed; ATR 2.63%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7781,
            "reason": "realized volatility proxy 4.84%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: SOL reclaims $72, but onchain data flags weakening momentum | Aave, Solana ecosystem tokens lead crypto rebound as bitcoin stead..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0020%, open interest 4.52M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "While SOL is in a confirmed uptrend and shows technical bullishness via a MACD golden cross and position above key moving averages, qualitative and technical signals do not sufficiently con..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d8ef6f53b54d00801ae05991dca2476a316c81bb675d4389de966f0b4bcc1ff7"
    },
    {
      "cycleId": "20260627-102731221Z-d8186a7ebb",
      "file": "receipts/cycles/20260627-102731221Z-d8186a7ebb.json",
      "ts": "2026-06-27T10:27:31.221Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.2091,
      "rawDirection": "long",
      "maxAdversePct": 9.5703,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T10:25:31.573Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 42.50; MACD death_cross; MA trend mixed; ATR 2.11%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7392,
            "reason": "realized volatility proxy 5.69%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0028%, open interest 714.76K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack directional convergence. A confirmed downtrend regime and bearish technical verdict (MACD death cross, price below MA25/MA99, RSI 42.5) clash with a short-term 24h momentum bou..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d8186a7ebbe0b700d01f1d8cc17d655471611d640bb4648c2b459485c7057255"
    },
    {
      "cycleId": "20260627-102653817Z-f722acfbf8",
      "file": "receipts/cycles/20260627-102653817Z-f722acfbf8.json",
      "ts": "2026-06-27T10:26:53.817Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1368,
      "rawDirection": "long",
      "maxAdversePct": 7.2342,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T10:25:30.631Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 45.24; MACD death_cross; MA trend mixed; ATR 1.68%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7768,
            "reason": "realized volatility proxy 4.87%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0057%, open interest 33.83K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is range-bound with fragmented signals; short-term bullish momentum and range confirmation are offset by a bearish 4h MACD death cross, neutral RSI, and balanced derivatives positio..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f722acfbf8a3d4bc82b757d5104ea16e3f59068d2ac3822f597b11ca1b55c58f"
    },
    {
      "cycleId": "20260627-102617074Z-b9bc2308c3",
      "file": "receipts/cycles/20260627-102617074Z-b9bc2308c3.json",
      "ts": "2026-06-27T10:26:17.074Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1944,
      "counterfactualRawReturnPct": -0.4017,
      "rawDirection": "short",
      "maxAdversePct": 6.4581,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T10:25:33.668Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 56.14; MACD death_cross; MA trend mixed; ATR 2.72%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6857,
            "reason": "realized volatility proxy 6.86%, regime volatile_chop"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: SOL reclaims $72, but onchain data flags weakening momentum | Aave, Solana ecosystem tokens lead crypto rebound as bitcoin stead..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0049%, open interest 4.64M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6,
            "reason": "Bearish technicals (MACD death cross) and risk-off macro conditions converge with news-flagged onchain weakness, meeting the required signal threshold. Neutral derivatives positioning and a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b9bc2308c36a5985fbb95d2b1567e98289ca3f1bdc0dac565047a98ef91e53d5"
    },
    {
      "cycleId": "20260627-042048155Z-d137c7fc99",
      "file": "receipts/cycles/20260627-042048155Z-d137c7fc99.json",
      "ts": "2026-06-27T04:20:48.155Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1513,
      "rawDirection": "short",
      "maxAdversePct": 6.0319,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T04:18:36.412Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 3,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 57.43; MACD death_cross; MA trend mixed; ATR 2.77%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6835,
            "reason": "realized volatility proxy 6.91%, regime volatile_chop"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime volatile_chop, market-intel risk_off, technical bullish. This is context only and does not count as an independent conve..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0006%, open interest 4.53M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is stuck in a volatile chop regime with divergent signals: positive short-term momentum is contradicted by a neutral technical verdict, a MACD death cross, balanced derivatives fundin..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d137c7fc99323754f88f8ccf80eb5e8b459ba7dee0c34324de94749408d9c787"
    },
    {
      "cycleId": "20260627-042005819Z-012c89d779",
      "file": "receipts/cycles/20260627-042005819Z-012c89d779.json",
      "ts": "2026-06-27T04:20:05.819Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1501,
      "rawDirection": "long",
      "maxAdversePct": 7.4788,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T04:18:34.667Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.77; MACD death_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7748,
            "reason": "realized volatility proxy 4.91%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 33.88K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed technical signals (2 bullish, 1 bearish) fail to meet the convergence threshold required for directional entry. Price is range-bound near 60.4k with balanced derivatives, conflicting ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "012c89d7799a4d6f94973b95295b351e6010fd9cfb361329fdb22b45fff286e0"
    },
    {
      "cycleId": "20260627-041922523Z-d6cbced279",
      "file": "receipts/cycles/20260627-041922523Z-d6cbced279.json",
      "ts": "2026-06-27T04:19:22.523Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0.1,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-27T04:18:37.453Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 42.43; MACD death_cross; MA trend mixed; ATR 2.21%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7366,
            "reason": "realized volatility proxy 5.75%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched ETH: Old Ether wallets move 37,806 ETH as whale conviction faces key test at $1.5K | Ethereum whale who shorted October 2025 crash op..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0050%, open interest 707.33K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.1,
            "reason": "Convergence threshold not met (2 bullish vs 2 bearish signals). ETH remains in a structural downtrend, pressured by risk-off macro conditions, a bearish technical verdict (MACD death cross,..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d6cbced2792798a2609752844862050166131d659e13bd994823e950f30cbdb2"
    },
    {
      "cycleId": "20260626-214424529Z-bd227161c6",
      "file": "receipts/cycles/20260626-214424529Z-bd227161c6.json",
      "ts": "2026-06-26T21:44:24.529Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T21:42:22.757Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 40.75; MACD death_cross; MA trend mixed; ATR 2.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7346,
            "reason": "realized volatility proxy 5.79%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0019%, open interest 694.03K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and qualitative signals lack the necessary convergence for a directional position. The broader regime is bearish with a confirmed downtrend and a bearish technical verdict (MACD d..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bd227161c6ff08be0096a444465942c9b62183de0e280ac42693462764c43672"
    },
    {
      "cycleId": "20260626-214344164Z-4917fd6b8f",
      "file": "receipts/cycles/20260626-214344164Z-4917fd6b8f.json",
      "ts": "2026-06-26T21:43:44.164Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T21:42:21.962Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 41.75; MACD death_cross; MA trend mixed; ATR 1.93%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.773,
            "reason": "realized volatility proxy 4.95%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0095%, open interest 33.87K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is range-bound with conflicting technicals; the 4h MACD death cross is offset by neutral RSI, flat momentum, and balanced derivatives positioning. No qualitative or technical convergenc..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4917fd6b8fc685f8e0b99e6fbd43989d512f7465302f06b80c6d296a03fbb996"
    },
    {
      "cycleId": "20260626-214315766Z-5cab068d04",
      "file": "receipts/cycles/20260626-214315766Z-5cab068d04.json",
      "ts": "2026-06-26T21:43:15.766Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1452,
      "rawDirection": "short",
      "maxAdversePct": 6.0913,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T21:42:24.903Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 3,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 57.20; MACD death_cross; MA trend mixed; ATR 3.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6826,
            "reason": "realized volatility proxy 6.93%, regime volatile_chop"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Why Wall Street values some crypto firms for AI power, not just crypto | Aave, Solana ecosystem tokens lead crypto rebound as bi..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.62M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence is insufficient (1 bullish vs 2 bearish against a 3-signal requirement) amid a volatile chop regime. Short-term price momentum is countered by neutral technicals (MACD de..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5cab068d044306cd6a82520a83603d85293ce6bf8a8f65ee680258cc8b2d6ce1"
    },
    {
      "cycleId": "20260626-180657490Z-5f47b21f07",
      "file": "receipts/cycles/20260626-180657490Z-5f47b21f07.json",
      "ts": "2026-06-26T18:06:57.490Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.2253,
      "rawDirection": "short",
      "maxAdversePct": 6.6049,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor",
        "momentum_not_extreme"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T18:04:52.291Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 3,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 59.61; MACD death_cross; MA trend mixed; ATR 3.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6776,
            "reason": "realized volatility proxy 7.03%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel risk_off, technical bullish. This is context only and does not count as an independent convergence..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.61M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and qualitative signals fail to converge. While short-term momentum is positive and price holds above key moving averages, the 4H MACD shows a death cross, RSI is neutral at 59.61..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor",
            "momentum_not_extreme"
          ]
        }
      },
      "checksum": "5f47b21f079a7f8667f543cae5208a79431b3e2b63a772a6a9998577f9ecac88"
    },
    {
      "cycleId": "20260626-180615987Z-d3f8e9104e",
      "file": "receipts/cycles/20260626-180615987Z-d3f8e9104e.json",
      "ts": "2026-06-26T18:06:15.987Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1505,
      "rawDirection": "long",
      "maxAdversePct": 7.0122,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T18:04:50.638Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 41.68; MACD death_cross; MA trend mixed; ATR 1.97%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.767,
            "reason": "realized volatility proxy 5.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0080%, open interest 34.27K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Conflicting technical signals (bullish momentum vs 4h bearish verdict with MACD death cross) and balanced derivatives positioning fail to meet the required 3-signal convergence threshold. M..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d3f8e9104ea6e7c693364ce36f1df6deadc6879510827ca459ec14c047c95082"
    },
    {
      "cycleId": "20260626-180542037Z-139cfdb4d3",
      "file": "receipts/cycles/20260626-180542037Z-139cfdb4d3.json",
      "ts": "2026-06-26T18:05:42.037Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T18:04:53.386Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 41.81; MACD death_cross; MA trend mixed; ATR 2.57%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7271,
            "reason": "realized volatility proxy 5.95%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched ETH: Ethereum whale who shorted October 2025 crash opens $19.7M ETH short position | Tether stablecoin flips Ether by market cap as E..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0003%, open interest 703.24K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and qualitative signals lack convergence. While macro risk-off conditions, a BEARISH agent TA verdict (MACD death cross), and heavy whale shorting news dominate, short-term moment..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "139cfdb4d37b61a3f0ff3f83866c897d656559da4e8a36f0c2a966247e9aab0b"
    },
    {
      "cycleId": "20260626-145110194Z-959e89739a",
      "file": "receipts/cycles/20260626-145110194Z-959e89739a.json",
      "ts": "2026-06-26T14:51:10.194Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1258,
      "rawDirection": "short",
      "maxAdversePct": 4.5397,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T14:49:04.126Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 3,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 55.24; MACD death_cross; MA trend mixed; ATR 3.12%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6602,
            "reason": "realized volatility proxy 7.41%, regime volatile_chop"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime volatile_chop, market-intel risk_off, technical bullish. This is context only and does not count as an independent conve..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.71M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals remain fragmented in a volatile chop regime. Short-term momentum shows slight upside, but the 4h technical verdict is neutral with a MACD death cross, mixed MA alignment, and balanc..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "959e89739a31d5e328e061a2bd227099abf94df35e5040c4d01e277e0eb85299"
    },
    {
      "cycleId": "20260626-145030745Z-3a35b4a460",
      "file": "receipts/cycles/20260626-145030745Z-3a35b4a460.json",
      "ts": "2026-06-26T14:50:30.745Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1713,
      "rawDirection": "long",
      "maxAdversePct": 7.1331,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T14:49:02.707Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 39.46; MACD death_cross; MA trend mixed; ATR 2.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7655,
            "reason": "realized volatility proxy 5.12%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 34.23K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is trading in a confirmed range with conflicting technicals: MACD shows a death cross, RSI sits at 39.46, and moving averages are mixed. Derivatives sentiment is balanced (0.01% funding..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3a35b4a4600412b0147fd63f4c00aa14641a076e765ade1bf8a0c3ded32f3115"
    },
    {
      "cycleId": "20260626-144953457Z-d481d5c5cc",
      "file": "receipts/cycles/20260626-144953457Z-d481d5c5cc.json",
      "ts": "2026-06-26T14:49:53.457Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.218,
      "rawDirection": "short",
      "maxAdversePct": 2.0735,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T14:49:05.450Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 3,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 38.67; MACD death_cross; MA trend mixed; ATR 2.62%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.7125,
            "reason": "realized volatility proxy 6.27%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Tether stablecoin flips Ether by market cap as ETH routs to $1.5K | Sharplink buys ETH after 8-month pause as token hits 2026 lo..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0021%, open interest 700.84K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and macro indicators confirm a risk-off regime with ETH in a downtrend (MACD death cross, price below key MAs, broken supports, and broad market selloff). However, the system conv..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d481d5c5ccf7c9eb3fed3031d6cbc7a7d5ff31bb9980be2ea59028c1f66f783a"
    },
    {
      "cycleId": "20260626-111806543Z-e16b087a92",
      "file": "receipts/cycles/20260626-111806543Z-e16b087a92.json",
      "ts": "2026-06-26T11:18:06.543Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0311,
      "rawDirection": "short",
      "maxAdversePct": 2.6137,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T11:16:11.434Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 3,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 47.97; MACD death_cross; MA trend mixed; ATR 3.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6702,
            "reason": "realized volatility proxy 7.19%, regime volatile_chop"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime volatile_chop, market-intel risk_off, technical neutral. This is context only and does not count as an independent conve..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0050%, open interest 4.84M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Volatile chop regime with balanced derivatives positioning and neutral multi-day momentum outweighs the isolated MACD death cross, creating high whipsaw risk around tight support/resistance."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e16b087a9234915c494cdb498f3c22e4ec6b4e6455ffd08e42e86403fd72ddd6"
    },
    {
      "cycleId": "20260626-111730312Z-d105e476e3",
      "file": "receipts/cycles/20260626-111730312Z-d105e476e3.json",
      "ts": "2026-06-26T11:17:30.312Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T11:16:09.877Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 35.93; MACD death_cross; MA trend bear; ATR 1.97%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7638,
            "reason": "realized volatility proxy 5.15%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0057%, open interest 34.33K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical momentum and trend structure are bearish, but the system requires 3 converging signals to execute a trade. Current convergence counts only 1 bullish and 1 bearish signal, falling ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d105e476e3b5b3519de64b7d04112d5133a18cdc24649b124682bdc513a62850"
    },
    {
      "cycleId": "20260626-111655948Z-c9a17c96c3",
      "file": "receipts/cycles/20260626-111655948Z-c9a17c96c3.json",
      "ts": "2026-06-26T11:16:55.948Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.85,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2754,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 1.8598,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T11:16:12.567Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 33.76; MACD death_cross; MA trend bear; ATR 2.58%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.7183,
            "reason": "realized volatility proxy 6.15%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Tether stablecoin flips Ether by market cap as ETH routs to $1.5K | Sharplink buys ETH after 8-month pause as token hits 2026 lo..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0037%, open interest 704.56K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.85,
            "reason": "ETHUSDT exhibits strong technical and qualitative convergence to the downside. Price is locked in a confirmed downtrend, trading below the MA7, MA25, and MA99 with a MACD death cross, negat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "c9a17c96c3736c201fe72a2f67632f78dcbdb2bd30e76b5cbd24eb33bfdc1156"
    },
    {
      "cycleId": "20260626-044410084Z-c1400370d5",
      "file": "receipts/cycles/20260626-044410084Z-c1400370d5.json",
      "ts": "2026-06-26T04:44:10.084Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.3692,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 0.3301,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T04:42:11.431Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 45.48; MACD death_cross; MA trend mixed; ATR 2.76%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6839,
            "reason": "realized volatility proxy 6.90%, regime volatile_chop"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime volatile_chop, market-intel risk_off, technical bearish. This is context only and does not count as an independent conve..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0009%, open interest 4.73M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.65,
            "reason": "Converging bearish signals justify a short entry. 4-hour technicals show a MACD death cross, declining 24h/72h momentum, and an overall BEARISH verdict. The volatile chop regime and risk-of..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "c1400370d540175d25a110da78f9017488490bf845ce660cec41bbf666a9bfd9"
    },
    {
      "cycleId": "20260626-044337646Z-5ba94a1622",
      "file": "receipts/cycles/20260626-044337646Z-5ba94a1622.json",
      "ts": "2026-06-26T04:43:37.646Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1894,
      "counterfactualRawReturnPct": 0.1894,
      "rawDirection": "short",
      "maxAdversePct": 0.4794,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T04:42:10.031Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 37.07; MACD death_cross; MA trend bear; ATR 1.85%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7656,
            "reason": "realized volatility proxy 5.11%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0038%, open interest 34.1K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technicals (MACD death cross, RSI 37, price below key MAs, negative momentum) align with the downtrend regime, but only 2 bearish signals are active against the required 3 for conve..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5ba94a16228253ee20b15fd7752f27b25d83343c0ed40dfea75bbf2b48fe1f19"
    },
    {
      "cycleId": "20260626-044257854Z-64b9ee5d39",
      "file": "receipts/cycles/20260626-044257854Z-64b9ee5d39.json",
      "ts": "2026-06-26T04:42:57.854Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.78,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.1647,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 0.2809,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-26T04:42:12.337Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 31.56; MACD death_cross; MA trend bear; ATR 2.44%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.7217,
            "reason": "realized volatility proxy 6.07%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched ETH: Sharplink buys ETH after 8-month pause as token hits 2026 low | StablecoinX bets on Ethena ecosystem with Nasdaq debut on Friday..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0039%, open interest 708.11K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.78,
            "reason": "ETHUSDT exhibits strong bearish convergence with a confirmed downtrend, accelerating negative momentum (-9.45% over 72h), and a technical breakdown featuring a MACD death cross, weak RSI at..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "64b9ee5d39af5972a247e9039d5dc66f48c14fcaa84b5cd6fc3d87754eb5a797"
    },
    {
      "cycleId": "20260625-215611694Z-0567b6be0b",
      "file": "receipts/cycles/20260625-215611694Z-0567b6be0b.json",
      "ts": "2026-06-25T21:56:11.694Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T21:54:12.247Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 35.89; MACD death_cross; MA trend bear; ATR 2.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7417,
            "reason": "realized volatility proxy 5.64%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0003%, open interest 716.17K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Despite a confirmed downtrend and bearish technicals (MACD death cross, RSI at 35.89, and negative momentum), signal convergence is below the required threshold. Only 1 bearish count regist..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0567b6be0b3caefaacf58f0024e0bac000d6a2abe634740822d399e51159b26e"
    },
    {
      "cycleId": "20260625-215534236Z-c94f7eb5dc",
      "file": "receipts/cycles/20260625-215534236Z-c94f7eb5dc.json",
      "ts": "2026-06-25T21:55:34.236Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T21:54:11.383Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 37.33; MACD death_cross; MA trend bear; ATR 1.83%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7867,
            "reason": "realized volatility proxy 4.65%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0096%, open interest 34.25K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is in a confirmed downtrend with negative momentum, a MACD death cross, and bearish MA alignment. However, directional signal convergence fails to meet the required threshold of 3 (..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c94f7eb5dc78b6ee450c6354bf8c1e986d075a9b11d2dc040f0a34e2419a943d"
    },
    {
      "cycleId": "20260625-215457277Z-ef9ff7c739",
      "file": "receipts/cycles/20260625-215457277Z-ef9ff7c739.json",
      "ts": "2026-06-25T21:54:57.277Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.8827,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 0.1405,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T21:54:14.352Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 40.80; MACD death_cross; MA trend mixed; ATR 2.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.7061,
            "reason": "realized volatility proxy 6.41%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: a16z-backed crypto firm rebrands, shifts focus to solving AI’s global copyright headache | Crypto for Advisors: Bitcoin: plannin..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0001%, open interest 4.47M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.72,
            "reason": "Technical and macro signals strongly converge bearish. Price is trading below key moving averages (MA7: 67.57, MA25: 69.84) with a confirmed MACD death cross, negative 24h/72h momentum, and..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "ef9ff7c739d7372bdb67e422fb22c33af0e023d629aab594a3e848e3ad59d35c"
    },
    {
      "cycleId": "20260625-182950912Z-65717ffd6e",
      "file": "receipts/cycles/20260625-182950912Z-65717ffd6e.json",
      "ts": "2026-06-25T18:29:50.912Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T18:27:48.080Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 33.09; MACD death_cross; MA trend bear; ATR 2.48%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7447,
            "reason": "realized volatility proxy 5.57%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0008%, open interest 712.73K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show bearish momentum, a MACD death cross, and price trading below key moving averages, but signal convergence is not met (1 bearish vs 3 required). Derivatives positio..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "65717ffd6e44763573bd583907b4e6463fe8921009b98bcc6ec5324b2968b4ca"
    },
    {
      "cycleId": "20260625-182918308Z-bd554cef64",
      "file": "receipts/cycles/20260625-182918308Z-bd554cef64.json",
      "ts": "2026-06-25T18:29:18.308Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.2998,
      "rawDirection": "long",
      "maxAdversePct": 9.8689,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T18:27:47.096Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 32.87; MACD death_cross; MA trend bear; ATR 1.89%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7893,
            "reason": "realized volatility proxy 4.60%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0073%, open interest 34.41K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical structure exists but lacks convergence with qualitative feeds. Derivatives positioning is balanced, and macro/news catalysts are unavailable. The convergence engine shows ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bd554cef649079b9382ddb4c105c6d9d08168c415cd54f5335453879294900a5"
    },
    {
      "cycleId": "20260625-182843464Z-39d15a6f4a",
      "file": "receipts/cycles/20260625-182843464Z-39d15a6f4a.json",
      "ts": "2026-06-25T18:28:43.464Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.62,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.9787,
      "counterfactualRawReturnPct": 0.9787,
      "rawDirection": "short",
      "maxAdversePct": 0.1745,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T18:27:49.960Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 37.58; MACD death_cross; MA trend mixed; ATR 2.84%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.7099,
            "reason": "realized volatility proxy 6.33%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: a16z-backed crypto firm rebrands, shifts focus to solving AI’s global copyright headache | Crypto for Advisors: Bitcoin: plannin..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0007%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.62,
            "reason": "Bearish technical convergence aligns with a confirmed downtrend and risk-off macro environment. MACD displays a death cross, price trades below all key moving averages (MA7/25/99), and RSI ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "39d15a6f4abcde8a0827bf281fc5ec2f0893f619d604e2e1653ded696abb3555"
    },
    {
      "cycleId": "20260625-152050808Z-93e164140c",
      "file": "receipts/cycles/20260625-152050808Z-93e164140c.json",
      "ts": "2026-06-25T15:20:50.808Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T15:18:39.311Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 31.50; MACD death_cross; MA trend bear; ATR 2.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7465,
            "reason": "realized volatility proxy 5.53%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0048%, open interest 733.65K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "While technicals show a confirmed downtrend with bearish momentum and a MACD death cross, the convergence threshold of 3 aligned signals is not met. Derivatives positioning remains balanced..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "93e164140c6928168ea5ff1ff9c29bf04f06a7f07333184efeb63d8ee0006ab5"
    },
    {
      "cycleId": "20260625-152016586Z-38940b9e88",
      "file": "receipts/cycles/20260625-152016586Z-38940b9e88.json",
      "ts": "2026-06-25T15:20:16.586Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T15:18:38.301Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 31.06; MACD death_cross; MA trend bear; ATR 1.93%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.7903,
            "reason": "realized volatility proxy 4.57%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0003%, open interest 34.5K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show a strong downtrend with bearish momentum and a MACD death cross, but directional convergence is absent (1 bullish vs 1 bearish against a required threshold of 3). ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "38940b9e883febab00fc0ccf337babad995247f7416558895498532d0cae0010"
    },
    {
      "cycleId": "20260625-151933463Z-945bc21af5",
      "file": "receipts/cycles/20260625-151933463Z-945bc21af5.json",
      "ts": "2026-06-25T15:19:33.463Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.1846,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 0.4028,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T15:18:41.597Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 35.86; MACD death_cross; MA trend mixed; ATR 2.89%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.7172,
            "reason": "realized volatility proxy 6.17%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Crypto for Advisors: Bitcoin: planning for inheritance | Bitcoin back above $60,000, ETH, SOL recoup losses as AI stocks stage r..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0042%, open interest 4.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.65,
            "reason": "SOL/USDT remains in a confirmed downtrend with a 4h MACD death cross and heavy negative momentum (-9.72% over 72h). The macro backdrop is risk-off following recent FOMC updates, supported b..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "945bc21af5086b7eb90e7699606717e2904480fd98665f401c2a42e45130661a"
    },
    {
      "cycleId": "20260625-111136535Z-ae595f27c5",
      "file": "receipts/cycles/20260625-111136535Z-ae595f27c5.json",
      "ts": "2026-06-25T11:11:36.535Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.3689,
      "counterfactualRawReturnPct": 0.3689,
      "rawDirection": "short",
      "maxAdversePct": 0.0307,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T11:09:20.066Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 42.41; MACD death_cross; MA trend mixed; ATR 2.46%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8228,
            "reason": "realized volatility proxy 3.87%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0011%, open interest 4.41M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show bearish momentum (MACD death cross, RSI at 42.41, negative multi-day momentum) within a confirmed downtrend, but the convergence threshold explicitly requires 3 be..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ae595f27c58ca29e64141b84d3a76bf869e3f6c683f817b8926465036df4039c"
    },
    {
      "cycleId": "20260625-111052876Z-5f46337512",
      "file": "receipts/cycles/20260625-111052876Z-5f46337512.json",
      "ts": "2026-06-25T11:10:52.876Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T11:09:19.357Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 40.74; MACD death_cross; MA trend bear; ATR 2.07%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8471,
            "reason": "realized volatility proxy 3.34%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0034%, open interest 741.93K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators confirm a bearish downtrend with negative momentum, but the required convergence of three aligned signals is not met due to balanced derivatives sentiment and unavailab..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5f46337512929defd1d0aa91f3751fb7a5eff3e74d0dad8bc68c7bb71d3690ab"
    },
    {
      "cycleId": "20260625-111010176Z-f01ff8c12e",
      "file": "receipts/cycles/20260625-111010176Z-f01ff8c12e.json",
      "ts": "2026-06-25T11:10:10.176Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.9216,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 0.0732,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T11:09:21.218Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 39.57; MACD death_cross; MA trend bear; ATR 1.56%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8747,
            "reason": "realized volatility proxy 2.73%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: Bitcoin nearly loses $59K as DXY surges: Are traders bracing for more pain? | BTC price four-year trend calls for $76K as analys..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0014%, open interest 33.51K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.75,
            "reason": "BTCUSDT is in a confirmed downtrend with converging bearish technicals: negative 24h/72h momentum, a MACD death cross, and price trading below key moving averages (MA7, MA25, MA99). Macro r..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "f01ff8c12ec8a5a458181780d43c5e1915f8c3f4429451e30888f912c16afc62"
    },
    {
      "cycleId": "20260625-043804265Z-7632741d37",
      "file": "receipts/cycles/20260625-043804265Z-7632741d37.json",
      "ts": "2026-06-25T04:38:04.265Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T04:36:08.706Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 38.27; MACD death_cross; MA trend mixed; ATR 2.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8181,
            "reason": "realized volatility proxy 3.97%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0135%, open interest 4.43M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold unmet (1 bullish vs 1 bearish against a requirement of 3). Bearish momentum conflicts with neutral RSI, mixed MAs, and balanced derivatives positioning, offerin..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7632741d37a8dee40fc595374f55f4b91046e7e694739bcb060bb44c4762e503"
    },
    {
      "cycleId": "20260625-043728403Z-4b32fff1ec",
      "file": "receipts/cycles/20260625-043728403Z-4b32fff1ec.json",
      "ts": "2026-06-25T04:37:28.403Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T04:36:07.308Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 34.95; MACD death_cross; MA trend bear; ATR 1.45%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8769,
            "reason": "realized volatility proxy 2.69%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0023%, open interest 33.58K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show a strong bearish setup (MACD death cross, bearish moving averages, negative 24h/72h momentum) within a confirmed downtrend, but the required convergence threshold ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4b32fff1ec74409cb348fb3b3b7db71479a3cf5c39d62fdb03f8a510826a4be7"
    },
    {
      "cycleId": "20260625-043654206Z-7d933d9c80",
      "file": "receipts/cycles/20260625-043654206Z-7d933d9c80.json",
      "ts": "2026-06-25T04:36:54.206Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.7,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2268,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 2.6041,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-25T04:36:09.794Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 35.71; MACD death_cross; MA trend bear; ATR 1.92%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8359,
            "reason": "realized volatility proxy 3.58%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Bitcoin back above $60,000, ETH, SOL recoup losses as AI stocks stage rebound | Upheaval at the Ethereum Foundation has some of ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0067%, open interest 777.02K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.7,
            "reason": "Bearish technical structure and macro headwinds align for a short. ETH trades below key moving averages with a MACD death cross, negative 24h/72h momentum, and a confirmed downtrend regime...."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "7d933d9c808b7c4e34f216d5be0fd05a460d0e4652e929b0c6bbb65e4c47f9d9"
    },
    {
      "cycleId": "20260624-215033345Z-28f7fb462f",
      "file": "receipts/cycles/20260624-215033345Z-28f7fb462f.json",
      "ts": "2026-06-24T21:50:33.345Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T21:48:38.092Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 39.20; MACD death_cross; MA trend mixed; ATR 2.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8175,
            "reason": "realized volatility proxy 3.98%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0065%, open interest 4.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails the required threshold of 3. With only 1 bearish and 1 bullish reading, mixed moving averages, and neutral derivatives positioning, there is insufficient alignment ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "28f7fb462f1114afc6180ace8403b0600c7023c85a78a56069d8d74b8d0d056c"
    },
    {
      "cycleId": "20260624-215000432Z-19dc593c8b",
      "file": "receipts/cycles/20260624-215000432Z-19dc593c8b.json",
      "ts": "2026-06-24T21:50:00.432Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T21:48:36.484Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 36.15; MACD death_cross; MA trend bear; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8763,
            "reason": "realized volatility proxy 2.70%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0077%, open interest 33.33K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence requirement unmet with only one counted bullish and one bearish signal. BTC remains in a range regime with neutral funding, balanced OI, and absent macro/news catalysts. Mixed t..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "19dc593c8b85735c95484b2d120c359ca70dbd67b8a350d9135cae6a75f34f32"
    },
    {
      "cycleId": "20260624-214919050Z-f074e818ca",
      "file": "receipts/cycles/20260624-214919050Z-f074e818ca.json",
      "ts": "2026-06-24T21:49:19.050Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.243,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 4.2855,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T21:48:39.530Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 35.24; MACD death_cross; MA trend bear; ATR 2.12%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8358,
            "reason": "realized volatility proxy 3.58%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Ethereum’s much-hated staking &apos;tax&apos; may already be obsolete | $170M Ether longs liquidated as crypto market tumbles: I..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0007%, open interest 743.27K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.75,
            "reason": "Technical and macro signals converge on the downside: ETH is in a confirmed downtrend with negative 24h/72h momentum, a MACD death cross, and price trading below all key moving averages. Th..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "f074e818ca3fb902179bfefb505f3019f2783fdf8f860a7fac93f64cf15acd2a"
    },
    {
      "cycleId": "20260624-181446843Z-046557aab7",
      "file": "receipts/cycles/20260624-181446843Z-046557aab7.json",
      "ts": "2026-06-24T18:14:46.843Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T18:12:40.598Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 23.13; MACD death_cross; MA trend bear; ATR 2.15%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.855,
            "reason": "realized volatility proxy 3.16%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0162%, open interest 772.25K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish momentum and moving averages confirm a downtrend, but RSI is deeply oversold at 23.13 and price trades below the lower Bollinger Band, signaling high mean-reversion risk. Convergenc..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "046557aab75d12551b961d17a868ae4693a88a771311d285c9efac41af9f2042"
    },
    {
      "cycleId": "20260624-181353089Z-fd43e81363",
      "file": "receipts/cycles/20260624-181353089Z-fd43e81363.json",
      "ts": "2026-06-24T18:13:53.089Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T18:12:40.016Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 22.54; MACD death_cross; MA trend bear; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8937,
            "reason": "realized volatility proxy 2.32%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0095%, open interest 33.98K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is in a confirmed downtrend below all major MAs with negative momentum, but convergence threshold is unmet. Neutral derivatives positioning and deeply oversold RSI (22.54) indicate hi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "fd43e8136387af4c760f991aba7cd4ad2e4e18c03f7f64986fe1f412819d0059"
    },
    {
      "cycleId": "20260624-181323428Z-c841f9de26",
      "file": "receipts/cycles/20260624-181323428Z-c841f9de26.json",
      "ts": "2026-06-24T18:13:23.428Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.55,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1782,
      "counterfactualRawReturnPct": 1.0972,
      "rawDirection": "short",
      "maxAdversePct": 2.1771,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T18:12:42.084Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 26.49; MACD death_cross; MA trend mixed; ATR 2.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8467,
            "reason": "realized volatility proxy 3.35%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Ethereum’s much-hated staking &apos;tax&apos; may already be obsolete | Coinbase embeds Solana trading | Fixing crypto’s broken ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0064%, open interest 4.66M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.55,
            "reason": "Technical and macro signals converge bearishly: confirmed downtrend with negative multi-day momentum, MACD death cross, and risk-off macro backdrop (DXY >101, VIX ~19.75). While RSI is over..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c841f9de26ec27b9af20a47e4c4090650209b389b3296639dd404b06832a5985"
    },
    {
      "cycleId": "20260624-151307342Z-173ecfaa63",
      "file": "receipts/cycles/20260624-151307342Z-173ecfaa63.json",
      "ts": "2026-06-24T15:13:07.342Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T15:10:50.443Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 36.58; MACD death_cross; MA trend mixed; ATR 2.09%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8838,
            "reason": "realized volatility proxy 2.53%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0002%, open interest 4.46M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met: bullish and bearish counts are split at 1 each, falling short of the required 3. While the broader regime is in a confirmed downtrend and MACD shows a ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "173ecfaa63fb9b691135c6a142b00cec635ae814d159c90fd15c1db1aa216ca3"
    },
    {
      "cycleId": "20260624-151216657Z-2dc85d8c20",
      "file": "receipts/cycles/20260624-151216657Z-2dc85d8c20.json",
      "ts": "2026-06-24T15:12:16.657Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T15:10:48.586Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 28.11; MACD death_cross; MA trend bear; ATR 1.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9058,
            "reason": "realized volatility proxy 2.06%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0045%, open interest 33.85K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technicals and market intel confirm a strong downtrend, but the required convergence threshold is unmet (1 bearish signal vs 3 required). Price is severely oversold (RSI 28.11) and extended..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2dc85d8c203e8bc7b2ba7c34b1963990f293853914b05accf81023353c81aaf1"
    },
    {
      "cycleId": "20260624-151133510Z-eff84f2cd6",
      "file": "receipts/cycles/20260624-151133510Z-eff84f2cd6.json",
      "ts": "2026-06-24T15:11:33.510Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.243,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 3.0665,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T15:10:51.839Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 32.77; MACD death_cross; MA trend mixed; ATR 1.73%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8881,
            "reason": "realized volatility proxy 2.44%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Ethereum’s much-hated staking &apos;tax&apos; may already be obsolete | $170M Ether longs liquidated as crypto market tumbles: I..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0022%, open interest 782.33K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.75,
            "reason": "Downtrend regime confirmed with negative 72h momentum (-5.09%). Technicals show a MACD death cross, price below all key moving averages, and RSI at 32.77. Macro risk-off tone post-FOMC, ele..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "eff84f2cd63ef3fc0ed06e58e1368a46eeebc968c0ecd814bf1c4fb89bb75356"
    },
    {
      "cycleId": "20260624-112054475Z-233a6d6787",
      "file": "receipts/cycles/20260624-112054475Z-233a6d6787.json",
      "ts": "2026-06-24T11:20:54.475Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T11:18:42.411Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 35.80; MACD death_cross; MA trend mixed; ATR 1.56%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8938,
            "reason": "realized volatility proxy 2.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0029%, open interest 804.74K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is trapped in a range regime with balanced derivatives positioning and neutral sentiment. Technicals are fragmented: 24h momentum slightly positive while 72h momentum lags at -3.87%, ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "233a6d6787ec5f8003b558dd2b6970358d924161c9df9d7dcddff7a2c5e661ee"
    },
    {
      "cycleId": "20260624-112007397Z-6760ff002b",
      "file": "receipts/cycles/20260624-112007397Z-6760ff002b.json",
      "ts": "2026-06-24T11:20:07.397Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T11:18:41.718Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 36.38; MACD death_cross; MA trend bear; ATR 1.16%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9229,
            "reason": "realized volatility proxy 1.68%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0013%, open interest 33.18K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is consolidating in a range-bound regime with conflicting signals; bearish 4h MACD and MA alignment are offset by near-oversold RSI and balanced derivatives positioning. Zero directiona..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6760ff002bf99c1764aafe803ffb2af236b46f4974e1b52d184a7d29b5c41cb0"
    },
    {
      "cycleId": "20260624-111929231Z-05166c7ab9",
      "file": "receipts/cycles/20260624-111929231Z-05166c7ab9.json",
      "ts": "2026-06-24T11:19:29.231Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0.15,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2704,
      "counterfactualRawReturnPct": 0.2704,
      "rawDirection": "short",
      "maxAdversePct": 1.5132,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T11:18:44.065Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 36.98; MACD death_cross; MA trend mixed; ATR 1.98%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8732,
            "reason": "realized volatility proxy 2.77%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Ethereum’s much-hated staking &apos;tax&apos; may already be obsolete | Coinbase embeds Solana trading | Fixing crypto’s broken ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0012%, open interest 4.32M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.15,
            "reason": "Bearish regime and risk-off macro backdrop align with technical weakness (MACD death cross, -6.41% 72h momentum), but signals fail to meet the required convergence threshold of 3. Neutral d..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "05166c7ab9cb306e3ff8dab327c71bb3dcf8ddfda946002b7dd7f57337b5a2c0"
    },
    {
      "cycleId": "20260624-044124776Z-622f0faff7",
      "file": "receipts/cycles/20260624-044124776Z-622f0faff7.json",
      "ts": "2026-06-24T04:41:24.776Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1648,
      "rawDirection": "short",
      "maxAdversePct": 2.5438,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T04:39:37.729Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 36.04; MACD death_cross; MA trend mixed; ATR 1.54%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8856,
            "reason": "realized volatility proxy 2.50%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0010%, open interest 800.94K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Directional signals lack convergence in a ranging regime. While technicals show bearish momentum and a MACD death cross, derivatives sentiment is balanced and no qualitative catalyst confir..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "622f0faff7190762fce46b79cc74f469e40e0e251478b58063b6204f7883aedb"
    },
    {
      "cycleId": "20260624-044049033Z-4407b91424",
      "file": "receipts/cycles/20260624-044049033Z-4407b91424.json",
      "ts": "2026-06-24T04:40:49.033Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1002,
      "rawDirection": "short",
      "maxAdversePct": 2.0541,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T04:39:36.915Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 39.07; MACD death_cross; MA trend mixed; ATR 1.15%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9179,
            "reason": "realized volatility proxy 1.79%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0036%, open interest 32.97K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bearish vs 0 bullish); technicals show weak downside momentum and mixed MAs within a range-bound regime, while derivatives positioning and macro feeds remai..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4407b914241d6e191db6196d5630a864124577e7078a73cabf55bd232c62b63c"
    },
    {
      "cycleId": "20260624-044023426Z-9fcacf8085",
      "file": "receipts/cycles/20260624-044023426Z-9fcacf8085.json",
      "ts": "2026-06-24T04:40:23.426Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2106,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 2.4464,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-24T04:39:39.824Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 38.70; MACD death_cross; MA trend mixed; ATR 1.97%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8716,
            "reason": "realized volatility proxy 2.80%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Ethereum’s much-hated staking &apos;tax&apos; may already be obsolete | Crypto lobby urges Congress to pass staking and mining t..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0103%, open interest 4.29M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.65,
            "reason": "Technical and macro signals converge bearish. SOL/USDT exhibits confirmed downtrend momentum (-5.19% over 72h), a 4h MACD death cross, and RSI at 38.7. Macro conditions are risk-off followi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "9fcacf8085e4f70bc32de83f832405c6c5c19591dd396a4fa9f3844e3dacd1f7"
    },
    {
      "cycleId": "20260623-215434036Z-132941a142",
      "file": "receipts/cycles/20260623-215434036Z-132941a142.json",
      "ts": "2026-06-23T21:54:34.036Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1688,
      "rawDirection": "short",
      "maxAdversePct": 2.2656,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T21:52:25.170Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 36.72; MACD death_cross; MA trend mixed; ATR 1.60%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8732,
            "reason": "realized volatility proxy 2.77%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0039%, open interest 793.91K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical momentum and a MACD death cross are present, but qualitative macro feeds are neutral and derivatives sentiment is balanced. The signal convergence threshold of 3 is unmet ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "132941a142df63029850f7ba27bedf1b7a429c5268a632cd014f34000c5010aa"
    },
    {
      "cycleId": "20260623-215349423Z-41a516d12c",
      "file": "receipts/cycles/20260623-215349423Z-41a516d12c.json",
      "ts": "2026-06-23T21:53:49.423Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1013,
      "rawDirection": "short",
      "maxAdversePct": 2.0674,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T21:52:24.607Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 38.58; MACD death_cross; MA trend bear; ATR 1.21%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9018,
            "reason": "realized volatility proxy 2.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0048%, open interest 33.09K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show bearish pressure (MACD death cross, price below key MAs), but the market remains in a range-bound regime and signal convergence falls short of the trading threshol..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "41a516d12c46e681339934fbdfa61bb457293c6f5d4a3108f7debf55f38d0d2e"
    },
    {
      "cycleId": "20260623-215318555Z-f7d3539a73",
      "file": "receipts/cycles/20260623-215318555Z-f7d3539a73.json",
      "ts": "2026-06-23T21:53:18.555Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.55,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1782,
      "counterfactualRawReturnPct": 0.5377,
      "rawDirection": "short",
      "maxAdversePct": 2.4786,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T21:52:26.645Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 37.63; MACD death_cross; MA trend mixed; ATR 2.01%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8567,
            "reason": "realized volatility proxy 3.13%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Crypto lobby urges Congress to pass staking and mining tax bill as is | Solana grabs 95% of tokenized equity as traders debate i..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0113%, open interest 4.37M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.55,
            "reason": "Technical and macro signals converge bearish: established downtrend regime, confirmed MACD death cross, negative 72-hour momentum, and a post-FOMC risk-off macro backdrop (DXY ~101.4) conti..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f7d3539a738225545c1e62eb93aa8597265adab07c4f91ee2ccb845d3971fe6d"
    },
    {
      "cycleId": "20260623-181831609Z-2035e12fc0",
      "file": "receipts/cycles/20260623-181831609Z-2035e12fc0.json",
      "ts": "2026-06-23T18:18:31.609Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1751,
      "rawDirection": "long",
      "maxAdversePct": 5.4492,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T18:16:16.479Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 34.92; MACD golden_cross; MA trend mixed; ATR 2.12%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.852,
            "reason": "realized volatility proxy 3.23%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0147%, open interest 4.37M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed signals prevent directional entry; bearish 24h/72h momentum clashes with a bullish MACD crossover and neutral derivatives positioning within a range-bound regime, failing the converge..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2035e12fc00073970dbe0f3cd7a2df6c3c1336083ac79520f8d2d77d9cf1c1cc"
    },
    {
      "cycleId": "20260623-181748233Z-b28daf6028",
      "file": "receipts/cycles/20260623-181748233Z-b28daf6028.json",
      "ts": "2026-06-23T18:17:48.233Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1695,
      "rawDirection": "short",
      "maxAdversePct": 2.8484,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T18:16:15.649Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 33.71; MACD death_cross; MA trend mixed; ATR 1.69%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8728,
            "reason": "realized volatility proxy 2.77%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0040%, open interest 800.63K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical indicators (RSI 33.71, MACD death cross, price below lower Bollinger Band, negative 24h/72h momentum) are present but do not meet the required 3-signal convergence thresho..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b28daf602876d9d9b2e17011b64bce41b6836d3055c4e10ac6b7a5f2158277a9"
    },
    {
      "cycleId": "20260623-181705802Z-47d2796c88",
      "file": "receipts/cycles/20260623-181705802Z-47d2796c88.json",
      "ts": "2026-06-23T18:17:05.802Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0986,
      "rawDirection": "short",
      "maxAdversePct": 2.6416,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T18:16:17.730Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 34.55; MACD death_cross; MA trend bear; ATR 1.25%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9019,
            "reason": "realized volatility proxy 2.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: CBOE weighs converting BTC, ETH continuous futures into perpetual futures: Report | Bitcoin slump worsens amid SpaceX rout: Can ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0014%, open interest 33.16K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technical structure and risk-off macro backdrop are evident, but price is compressing in a range near $62.3K support with balanced derivatives positioning. The explicit convergence ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "47d2796c880ae4f86071e23e8a0a2b3bcd739a93365007561298d758904a5e86"
    },
    {
      "cycleId": "20260623-152844736Z-84826d089b",
      "file": "receipts/cycles/20260623-152844736Z-84826d089b.json",
      "ts": "2026-06-23T15:28:44.736Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.157,
      "rawDirection": "long",
      "maxAdversePct": 4.8332,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T15:26:33.855Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 34.48; MACD golden_cross; MA trend mixed; ATR 2.19%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8512,
            "reason": "realized volatility proxy 3.25%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0123%, open interest 4.37M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed signals prevent the required convergence: 24h momentum is strongly bearish (-5.75%), conflicting with short-term bounce indicators like RSI 34.48 and a MACD golden cross. Derivatives ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "84826d089b559199d25c5df5e819231d8555793496b15ac2467b6fb20e64b805"
    },
    {
      "cycleId": "20260623-152801564Z-67364c2c69",
      "file": "receipts/cycles/20260623-152801564Z-67364c2c69.json",
      "ts": "2026-06-23T15:28:01.564Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1661,
      "rawDirection": "short",
      "maxAdversePct": 3.0856,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T15:26:33.053Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 33.38; MACD death_cross; MA trend mixed; ATR 1.73%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8712,
            "reason": "realized volatility proxy 2.81%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0047%, open interest 786.44K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technicals (negative momentum, MACD death cross, price below lower Bollinger Band) and a confirmed downtrend regime are present, but the bearish signal count (2) falls short of the ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "67364c2c69ef391e2409f0e5e0ac4aeaca1bcb89099f0af72e211fe96e97e4eb"
    },
    {
      "cycleId": "20260623-152725438Z-eb7ae3f8df",
      "file": "receipts/cycles/20260623-152725438Z-eb7ae3f8df.json",
      "ts": "2026-06-23T15:27:25.438Z",
      "symbol": "BTCUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1944,
      "counterfactualRawReturnPct": 0.2636,
      "rawDirection": "short",
      "maxAdversePct": 2.7859,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T15:26:35.816Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 34.15; MACD death_cross; MA trend mixed; ATR 1.28%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9018,
            "reason": "realized volatility proxy 2.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: Bitcoin slump worsens amid SpaceX rout: Can BTC price hold $60K any longer? | Bitcoin gets new $54K warning as BTC price hits 11..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0047%, open interest 33.22K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6,
            "reason": "Bearish technical momentum dominates (-3.79% 24h) with a confirmed MACD death cross and RSI at 34. Macro backdrop is risk-off post-FOMC, reinforced by a strong DXY (~101.3) and elevated VIX..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "eb7ae3f8dfe7028ef88087ba9c9be728282fdab8321518a84fb8b37018c8d9a1"
    },
    {
      "cycleId": "20260623-113403871Z-066a015351",
      "file": "receipts/cycles/20260623-113403871Z-066a015351.json",
      "ts": "2026-06-23T11:34:03.871Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T11:32:09.937Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 36.24; MACD golden_cross; MA trend mixed; ATR 2.22%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8505,
            "reason": "realized volatility proxy 3.26%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0194%, open interest 4.34M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals are split with 1 bullish and 1 bearish count, failing to meet the required convergence threshold of 3. SOL remains range-bound with neutral funding rates, balanced open in..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "066a0153512a6b6c503eea0e48e6013e01886aaa5f846a70bb239b851aa0f380"
    },
    {
      "cycleId": "20260623-113331656Z-f0f15f4f9b",
      "file": "receipts/cycles/20260623-113331656Z-f0f15f4f9b.json",
      "ts": "2026-06-23T11:33:31.656Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1302,
      "rawDirection": "short",
      "maxAdversePct": 3.6531,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T11:32:09.173Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 34.41; MACD death_cross; MA trend mixed; ATR 1.73%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8726,
            "reason": "realized volatility proxy 2.78%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0084%, open interest 754.75K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETH is range-bound with bearish technicals (negative 24h/72h momentum, MACD death cross, price below lower Bollinger band), but lacks cross-category confirmation. Macro and news feeds are n..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f0f15f4f9b553023a5cfb486e1ffe92d6018507d42adc59b3c3813df3f84f234"
    },
    {
      "cycleId": "20260623-113303127Z-43bef528cc",
      "file": "receipts/cycles/20260623-113303127Z-43bef528cc.json",
      "ts": "2026-06-23T11:33:03.127Z",
      "symbol": "BTCUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1944,
      "counterfactualRawReturnPct": 0.1371,
      "rawDirection": "short",
      "maxAdversePct": 3.5127,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T11:32:11.130Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 36.21; MACD death_cross; MA trend mixed; ATR 1.26%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9031,
            "reason": "realized volatility proxy 2.11%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched BTC: Bitcoin gets new $54K warning as BTC price hits 11-day low on Asia tech sell-off | Bitcoin funding rate hits 2-week high: Is $70..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0006%, open interest 32.68K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6,
            "reason": "Converging bearish signals include a 4h MACD death cross, RSI at 36.21, and negative 24h momentum of -3.93%. Macro risk-off conditions, driven by a strong DXY (~101.21) and recent FOMC guid..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "43bef528ccbc4c75191ca7e4a46aaa6bea6cc2e0e762e597641f15ce1b3ee6ca"
    },
    {
      "cycleId": "20260623-043347922Z-a593c64465",
      "file": "receipts/cycles/20260623-043347922Z-a593c64465.json",
      "ts": "2026-06-23T04:33:47.922Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T04:32:05.884Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 47.89; MACD golden_cross; MA trend mixed; ATR 1.89%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8611,
            "reason": "realized volatility proxy 3.03%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0043%, open interest 4.45M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical readings are split between a short-term momentum drawdown and a MACD golden cross, failing to meet the 3-signal convergence requirement. Price is consolidating within a defined ra..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a593c644657e90e7c33e613aac344460877ed7b45a841ef734c564cf7dfda04e"
    },
    {
      "cycleId": "20260623-043312250Z-91cbde050f",
      "file": "receipts/cycles/20260623-043312250Z-91cbde050f.json",
      "ts": "2026-06-23T04:33:12.250Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.0024,
      "counterfactualRawReturnPct": -0.0024,
      "rawDirection": "long",
      "maxAdversePct": 1.5137,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T04:32:05.198Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 48.38; MACD golden_cross; MA trend mixed; ATR 1.39%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9019,
            "reason": "realized volatility proxy 2.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0065%, open interest 747.45K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met. Only one bullish technical indicator is present while momentum, market intel, and derivatives sentiment are neutral or unclear. The current range-bound..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "91cbde050fe4421ac5d1085b857266d764db568df7068c2ef60229718b594a3c"
    },
    {
      "cycleId": "20260623-043241900Z-80d9119a9f",
      "file": "receipts/cycles/20260623-043241900Z-80d9119a9f.json",
      "ts": "2026-06-23T04:32:41.900Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-23T04:32:06.864Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 47.81; MACD golden_cross; MA trend mixed; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9113,
            "reason": "realized volatility proxy 1.94%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched BTC: Bitcoin funding rate hits 2-week high: Is $70K next? | Bitcoin price taps $65.5K as Iran deal sees oil drop toward 16-week low |..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0083%, open interest 33.04K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and qualitative signals lack convergence (1 bullish vs 1 bearish, below the required 3 for execution). Price is range-bound near $63.9K with neutral 24h/72h momentum, mixed moving..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "80d9119a9fd31feb2f4b0215b6de46d0880f53f0c43b7313f39fb7969e7d7aa9"
    },
    {
      "cycleId": "20260622-221917614Z-b7c0028fc1",
      "file": "receipts/cycles/20260622-221917614Z-b7c0028fc1.json",
      "ts": "2026-06-22T22:19:17.614Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1755,
      "counterfactualRawReturnPct": 0.1755,
      "rawDirection": "long",
      "maxAdversePct": 0.1983,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T22:17:26.310Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.82; MACD golden_cross; MA trend mixed; ATR 1.96%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8631,
            "reason": "realized volatility proxy 2.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0035%, open interest 4.33M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet: only 2 of 3 required signals are bullish. While the 4h MACD shows a golden cross and market intel confirms a range-bound trend, broader momentum and derivatives..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b7c0028fc1c4b4720b8a523445d47c25abd568179b551b99c837e3b95dfa5fe1"
    },
    {
      "cycleId": "20260622-221841804Z-38d81e8729",
      "file": "receipts/cycles/20260622-221841804Z-38d81e8729.json",
      "ts": "2026-06-22T22:18:41.804Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0485,
      "counterfactualRawReturnPct": 0.0485,
      "rawDirection": "long",
      "maxAdversePct": 0.5298,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T22:17:25.033Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 51.71; MACD golden_cross; MA trend bull; ATR 1.11%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.913,
            "reason": "realized volatility proxy 1.90%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 32.73K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only one bullish signal is registered against the required three for convergence. Despite positive MACD and MA alignment, the market remains in a confirmed range regime with neutral funding..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "38d81e87291c8a2061b392a4eb441475775ff7659dc34fa4bd0297c64a451a91"
    },
    {
      "cycleId": "20260622-221806055Z-bdec4d627e",
      "file": "receipts/cycles/20260622-221806055Z-bdec4d627e.json",
      "ts": "2026-06-22T22:18:06.055Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0569,
      "counterfactualRawReturnPct": 0.0569,
      "rawDirection": "long",
      "maxAdversePct": 0.4192,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T22:17:27.165Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 50.13; MACD golden_cross; MA trend mixed; ATR 1.46%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9034,
            "reason": "realized volatility proxy 2.11%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Solana grabs 95% of tokenized equity as traders debate if SOL bottom is in | Morgan Stanley amends Ethereum, Solana ETFs to reve..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0046%, open interest 702.11K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETH is trading in a defined range near $1732 with neutral RSI (50.13) and mixed moving averages. Mild technical bullishness from a MACD cross and slight positive momentum is offset by risk-..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bdec4d627e2a77815979f87fe9538e07f64ee7916fc57dce22eb4e01e95b51c0"
    },
    {
      "cycleId": "20260622-195040595Z-1d24711a12",
      "file": "receipts/cycles/20260622-195040595Z-1d24711a12.json",
      "ts": "2026-06-22T19:50:40.595Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0696,
      "counterfactualRawReturnPct": 0.0696,
      "rawDirection": "long",
      "maxAdversePct": 0.0852,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T19:48:54.349Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 49.79; MACD golden_cross; MA trend mixed; ATR 1.52%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9018,
            "reason": "realized volatility proxy 2.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0054%, open interest 710.01K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETH is range-bound at 1730 with neutral momentum and balanced derivatives positioning (funding 0.0054%, flat OI). Convergence criteria are unmet (only 1 bullish technical signal vs 3 requir..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1d24711a1230248d3ec011aa8a2b578e7551af662abec30ba2e3f1399583777f"
    },
    {
      "cycleId": "20260622-195007498Z-2c7ceebd1e",
      "file": "receipts/cycles/20260622-195007498Z-2c7ceebd1e.json",
      "ts": "2026-06-22T19:50:07.498Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0798,
      "counterfactualRawReturnPct": 0.0798,
      "rawDirection": "long",
      "maxAdversePct": 0.0523,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T19:48:53.568Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.26; MACD death_cross; MA trend bull; ATR 1.13%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9125,
            "reason": "realized volatility proxy 1.91%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 32.87K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold of 3 aligned signals is not met (1 bullish, 0 bearish). Price is consolidating in a range with balanced funding rates, low realized volatility, and conflicting technic..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2c7ceebd1e2de8c20c01002f08cad7c48e3c5dab08a9b0312746613db71969a2"
    },
    {
      "cycleId": "20260622-194938854Z-f9ace0be5f",
      "file": "receipts/cycles/20260622-194938854Z-f9ace0be5f.json",
      "ts": "2026-06-22T19:49:38.854Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T19:48:56.333Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.46; MACD golden_cross; MA trend mixed; ATR 2.04%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8525,
            "reason": "realized volatility proxy 3.22%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 7 matched SOL: Solana grabs 95% of tokenized equity as traders debate if SOL bottom is in | MoneyGram joins Solana as validator, expanding role..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0002%, open interest 4.34M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals are evenly split with 2 bullish and 2 bearish reads, failing to meet the required convergence threshold for execution. While technicals show a MACD golden cross and news flow highli..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f9ace0be5f08883ea892444a837215891721a15fcb5ad7b446cbd295ff4c47b7"
    },
    {
      "cycleId": "20260622-134707665Z-85dd808a73",
      "file": "receipts/cycles/20260622-134707665Z-85dd808a73.json",
      "ts": "2026-06-22T13:47:07.665Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1549,
      "counterfactualRawReturnPct": 0.1549,
      "rawDirection": "long",
      "maxAdversePct": 0.8453,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T13:44:59.560Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 61.94; MACD golden_cross; MA trend bull; ATR 1.44%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9094,
            "reason": "realized volatility proxy 1.98%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0004%, open interest 726.04K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical setup shows bullish momentum, MA alignment, and a MACD golden cross, but only 2 convergence signals are confirmed against the required 3. The market regime is explicitly ranging, ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "85dd808a7357916b78ea35760ce918e004e6462db40353c458953caa5f1ef90f"
    },
    {
      "cycleId": "20260622-134626466Z-3f85f7fc7d",
      "file": "receipts/cycles/20260622-134626466Z-3f85f7fc7d.json",
      "ts": "2026-06-22T13:46:26.466Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1384,
      "counterfactualRawReturnPct": 0.1384,
      "rawDirection": "long",
      "maxAdversePct": 0.5574,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T13:44:58.861Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 63.14; MACD death_cross; MA trend bull; ATR 1.11%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9156,
            "reason": "realized volatility proxy 1.84%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0015%, open interest 33.19K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish momentum exists but fails to meet the required 3-signal convergence threshold (currently 2 bullish, 0 bearish). The market remains range-bound with balanced derivatives positioning ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3f85f7fc7d82bd20c9c6c8e88d99df7d26f3a59e8c657ec8f9e077f9e47c8fb4"
    },
    {
      "cycleId": "20260622-134551414Z-12ffd7e5a8",
      "file": "receipts/cycles/20260622-134551414Z-12ffd7e5a8.json",
      "ts": "2026-06-22T13:45:51.414Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.3097,
      "counterfactualRawReturnPct": 0.3097,
      "rawDirection": "long",
      "maxAdversePct": 1.0491,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T13:45:01.172Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 62.88; MACD golden_cross; MA trend bull; ATR 1.91%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8712,
            "reason": "realized volatility proxy 2.81%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched SOL: Morgan Stanley amends Ethereum, Solana ETFs to reveal record cheap fees | TradFi fund manager Baillie Gifford introduces Solana,..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0049%, open interest 4.33M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show bullish alignment and recent TradFi ETF news is highly positive, but qualitative and technical signals fail to meet the required convergence threshold. Price faces..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "12ffd7e5a8bc1b6de1633c647d4c81594cc16ab0faa65d150f071757437b7399"
    },
    {
      "cycleId": "20260622-053549222Z-d747f4cee4",
      "file": "receipts/cycles/20260622-053549222Z-d747f4cee4.json",
      "ts": "2026-06-22T05:35:49.222Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0992,
      "counterfactualRawReturnPct": 0.0992,
      "rawDirection": "long",
      "maxAdversePct": 0.9888,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T05:33:49.706Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.15; MACD death_cross; MA trend bull; ATR 1.43%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9171,
            "reason": "realized volatility proxy 1.81%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0049%, open interest 714.57K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the required convergence threshold of 3. ETH is trading in a range-bound regime with conflicting technicals: while price sits above key moving averages, 24h momentum is..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d747f4cee4c32769303e47a51a3a4067a6b477d2767d527d75d90f75f7b86d87"
    },
    {
      "cycleId": "20260622-053514523Z-b81b27fac5",
      "file": "receipts/cycles/20260622-053514523Z-b81b27fac5.json",
      "ts": "2026-06-22T05:35:14.523Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.104,
      "counterfactualRawReturnPct": 0.104,
      "rawDirection": "long",
      "maxAdversePct": 0.5005,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T05:33:48.915Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.73; MACD death_cross; MA trend bull; ATR 1.10%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9213,
            "reason": "realized volatility proxy 1.72%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0041%, open interest 32.67K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only one bullish signal against the required three. BTC remains range-bound with balanced derivatives positioning, neutral-to-slightly-negative short-term m..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b81b27fac533706dfb05979390690488bbf4465fdbce43d22f12e8de17182d8b"
    },
    {
      "cycleId": "20260622-053434525Z-5079dd236e",
      "file": "receipts/cycles/20260622-053434525Z-5079dd236e.json",
      "ts": "2026-06-22T05:34:34.525Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.3335,
      "counterfactualRawReturnPct": 0.3335,
      "rawDirection": "long",
      "maxAdversePct": 0.796,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-22T05:33:51.756Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.28; MACD golden_cross; MA trend bull; ATR 2.02%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8689,
            "reason": "realized volatility proxy 2.86%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Live markets: Bitcoin under pressure as Saylor comments on STRC selloff | Ex-Celsius CEO Mashinsky gets U.S. CFTC ban in final r..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0005%, open interest 4.23M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show strong bullish momentum and a confirmed uptrend, but price is testing immediate resistance at 75.28 and sits above the upper Bollinger Band, indicating potential e..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5079dd236ec4e1c36b216ea05e7cf9f71687c5a52330baf2a23df4352ee37b6b"
    },
    {
      "cycleId": "20260621-214608565Z-c86f9a4b5e",
      "file": "receipts/cycles/20260621-214608565Z-c86f9a4b5e.json",
      "ts": "2026-06-21T21:46:08.565Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0217,
      "rawDirection": "short",
      "maxAdversePct": 2.2701,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T21:44:20.455Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 47.31; MACD death_cross; MA trend mixed; ATR 1.38%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9325,
            "reason": "realized volatility proxy 1.47%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0023%, open interest 714.25K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only two bearish technical signals are present against the three required for convergence. The asset is range-bound with balanced derivatives positioning and neutral macro/news feeds, provi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c86f9a4b5e221347c3d1b0a2b839230a504bd09aafb9ef7cca7616722cc24b50"
    },
    {
      "cycleId": "20260621-214531613Z-e76a59a1aa",
      "file": "receipts/cycles/20260621-214531613Z-e76a59a1aa.json",
      "ts": "2026-06-21T21:45:31.613Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0602,
      "rawDirection": "short",
      "maxAdversePct": 2.6097,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T21:44:19.673Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 48.16; MACD death_cross; MA trend mixed; ATR 1.01%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9425,
            "reason": "realized volatility proxy 1.25%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0006%, open interest 32.36K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence requirement not met: only 1 bearish signal is present against the 3 required for trade execution. Market regime is range-bound with neutral momentum, balanced derivatives positi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e76a59a1aa32adbc9893082651d94d556522ee8290c331a647c72b98ca2a016d"
    },
    {
      "cycleId": "20260621-214502035Z-f8cff05ce5",
      "file": "receipts/cycles/20260621-214502035Z-f8cff05ce5.json",
      "ts": "2026-06-21T21:45:02.035Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.2032,
      "rawDirection": "long",
      "maxAdversePct": 2.6953,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T21:44:22.357Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.87; MACD golden_cross; MA trend mixed; ATR 2.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8753,
            "reason": "realized volatility proxy 2.72%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Live markets: Bitcoin under pressure as Saylor comments on STRC selloff | Ex-Celsius CEO Mashinsky gets U.S. CFTC ban in final r..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0077%, open interest 4.34M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators lean bullish (MACD golden cross, confirmed uptrend regime), but short-term momentum is flat and macro conditions are risk-off (recent FOMC statement, DXY ~100.76). The ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f8cff05ce585b498564acf4512f1f5070b30e116fea118ee4fb325b71cd4b7cc"
    },
    {
      "cycleId": "20260621-175653835Z-1fb02c92a8",
      "file": "receipts/cycles/20260621-175653835Z-1fb02c92a8.json",
      "ts": "2026-06-21T17:56:53.835Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0521,
      "rawDirection": "short",
      "maxAdversePct": 2.6006,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T17:55:08.706Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 49.87; MACD death_cross; MA trend mixed; ATR 1.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9357,
            "reason": "realized volatility proxy 1.40%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0011%, open interest 723.3K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is consolidating in a defined range with neutral momentum and balanced derivatives positioning. Convergence criteria are not met (1 bearish technical signal vs. 3 required), as a MA..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1fb02c92a833965567578f0fb3d2d9266b61166dbab0a946e09961705ed46c32"
    },
    {
      "cycleId": "20260621-175625064Z-24e5738ad9",
      "file": "receipts/cycles/20260621-175625064Z-24e5738ad9.json",
      "ts": "2026-06-21T17:56:25.064Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0775,
      "rawDirection": "short",
      "maxAdversePct": 2.6172,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T17:55:07.949Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.92; MACD death_cross; MA trend mixed; ATR 0.98%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9433,
            "reason": "realized volatility proxy 1.24%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0016%, open interest 32.85K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bearish vs 3 required). BTC remains range-bound with neutral momentum, mixed technicals, and balanced derivatives positioning, offering no reliable d..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "24e5738ad9342de5c626b3a553b3697a69d96db9ef2389896521f595cb948bdd"
    },
    {
      "cycleId": "20260621-175555921Z-3b0090c3e1",
      "file": "receipts/cycles/20260621-175555921Z-3b0090c3e1.json",
      "ts": "2026-06-21T17:55:55.921Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.27,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 2.2379,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T17:55:10.648Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 65.98; MACD golden_cross; MA trend bull; ATR 1.90%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8827,
            "reason": "realized volatility proxy 2.56%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched SOL: Live markets: Bitcoin under pressure as Saylor comments on STRC selloff | Ex-Celsius CEO Mashinsky gets U.S. CFTC ban in final r..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0020%, open interest 4.5M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Uptrend regime confirmed by strong 24h/72h momentum (3.69%/8.34%), MACD golden cross, and price consistently above key moving averages. SOL-specific news highlights major public treasury ac..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "3b0090c3e1ec830b01b5242655fa142a030b08bde047c6c0f8d622339e4cde3a"
    },
    {
      "cycleId": "20260621-143641240Z-e97481af13",
      "file": "receipts/cycles/20260621-143641240Z-e97481af13.json",
      "ts": "2026-06-21T14:36:41.240Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0847,
      "rawDirection": "short",
      "maxAdversePct": 3.719,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T14:34:48.034Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 48.38; MACD death_cross; MA trend mixed; ATR 1.34%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9309,
            "reason": "realized volatility proxy 1.51%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0002%, open interest 717.67K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met with only 2 bearish signals versus the 3 required. Market is range-bound, derivatives sentiment is neutral, and there is no confirming news catalyst. Price lac..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e97481af1356700fb13df127cffccf30abe2e751a65fb0b0efa23687d001b0fd"
    },
    {
      "cycleId": "20260621-143613145Z-8ab81b25d6",
      "file": "receipts/cycles/20260621-143613145Z-8ab81b25d6.json",
      "ts": "2026-06-21T14:36:13.145Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0837,
      "rawDirection": "short",
      "maxAdversePct": 3.0211,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T14:34:47.471Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.08; MACD death_cross; MA trend mixed; ATR 1.02%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9406,
            "reason": "realized volatility proxy 1.30%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0048%, open interest 32.82K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence criteria are unmet with only one bearish signal against the required three. The market remains range-bound with neutral derivatives sentiment and mixed technical momentum, offer..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8ab81b25d60c8e73a065674d887abd44707648a55f42f7ca1f6fa7831d5ca4af"
    },
    {
      "cycleId": "20260621-143542045Z-2d39909d32",
      "file": "receipts/cycles/20260621-143542045Z-2d39909d32.json",
      "ts": "2026-06-21T14:35:42.045Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2742,
      "counterfactualRawReturnPct": 0.2742,
      "rawDirection": "long",
      "maxAdversePct": 1.7918,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T14:34:49.614Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 63.63; MACD golden_cross; MA trend bull; ATR 1.94%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8755,
            "reason": "realized volatility proxy 2.72%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Live markets: Bitcoin under pressure as Saylor comments on STRC selloff | Ex-Celsius CEO Mashinsky gets U.S. CFTC ban in final r..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0057%, open interest 4.48M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Strong technical uptrend with MACD golden cross and positive ecosystem news is offset by post-FOMC risk-off macro sentiment. The explicit bullish signal count (2) falls short of the require..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2d39909d32a453e35832083d8b3a803cad917ce5e73266a634588e6c1f075ab5"
    },
    {
      "cycleId": "20260621-112739810Z-dae5170ee6",
      "file": "receipts/cycles/20260621-112739810Z-dae5170ee6.json",
      "ts": "2026-06-21T11:27:39.810Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1384,
      "rawDirection": "long",
      "maxAdversePct": 4.5219,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T11:25:48.308Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 62.30; MACD golden_cross; MA trend bull; ATR 1.99%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8763,
            "reason": "realized volatility proxy 2.70%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0055%, open interest 4.33M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet: only 1 confirmed bullish signal against the required 3. Market regime is ranging with neutral derivatives positioning and no confirmed macro or news catalysts. ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "dae5170ee653d861192bf2fe4d64c424b28b588576925188ce902d4a2300a687"
    },
    {
      "cycleId": "20260621-112701610Z-832b0e4cf7",
      "file": "receipts/cycles/20260621-112701610Z-832b0e4cf7.json",
      "ts": "2026-06-21T11:27:01.610Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0247,
      "counterfactualRawReturnPct": 0.0247,
      "rawDirection": "short",
      "maxAdversePct": 0.7355,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T11:25:47.551Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 49.43; MACD death_cross; MA trend mixed; ATR 1.39%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9295,
            "reason": "realized volatility proxy 1.54%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0034%, open interest 710.92K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is consolidating within a range with muted momentum and balanced derivatives positioning. Although the 4h technical verdict is bearish due to a MACD death cross, convergence requireme..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "832b0e4cf750345cdfe50c4b55bd4143a6b94623e1ca61bd88b543a26686f249"
    },
    {
      "cycleId": "20260621-112627408Z-9fb4b0ef42",
      "file": "receipts/cycles/20260621-112627408Z-9fb4b0ef42.json",
      "ts": "2026-06-21T11:26:27.408Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0208,
      "rawDirection": "long",
      "maxAdversePct": 2.6846,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T11:25:49.471Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.58; MACD death_cross; MA trend bull; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9388,
            "reason": "realized volatility proxy 1.34%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 1 matched BTC: Bitcoin price is down over 40% since STRC launched: Is Strategy &apos;fine&apos;? | Bitcoin rotations into altcoins collapse: Ha..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0014%, open interest 32.63K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price is range-bound near 64.2K with mixed technicals (bullish MAs vs MACD death cross and neutral RSI) and a hawkish macro backdrop from the recent FOMC. Balanced derivatives positioning a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9fb4b0ef42fba436adc65d6de0acaa137e2cfda910285db4f850dce95fa9d0ed"
    },
    {
      "cycleId": "20260621-052204873Z-e683f03fed",
      "file": "receipts/cycles/20260621-052204873Z-e683f03fed.json",
      "ts": "2026-06-21T05:22:04.873Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0717,
      "rawDirection": "long",
      "maxAdversePct": 5.4776,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T05:20:22.854Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 1,
          "watch": 5
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BULLISH; RSI 60.02; MACD golden_cross; MA trend bull; ATR 1.98%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8788,
            "reason": "realized volatility proxy 2.64%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0025%, open interest 4.28M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show underlying bullish momentum (MACD golden cross, price above key MAs, RSI ~60), but SOL remains trapped in a confirmed range with balanced derivatives sentiment and..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "e683f03fed2e5e6f9b7f769a75227b79844b02c7f672667ce8dac1d711acd0ef"
    },
    {
      "cycleId": "20260621-052126564Z-cb934e198c",
      "file": "receipts/cycles/20260621-052126564Z-cb934e198c.json",
      "ts": "2026-06-21T05:21:26.564Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0422,
      "counterfactualRawReturnPct": 0.0422,
      "rawDirection": "short",
      "maxAdversePct": 0.2356,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T05:20:22.070Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.02; MACD death_cross; MA trend mixed; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.928,
            "reason": "realized volatility proxy 1.57%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0024%, open interest 704.59K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bearish vs 3 required). Market is in a range-bound regime with neutral derivatives positioning, mixed moving averages, neutral RSI, and absent macro/..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cb934e198c26b51a28e9578c3d2ae8d2a8d22b24dd144fa8a3d325bdd34b31cd"
    },
    {
      "cycleId": "20260621-052059977Z-5c4eb98cb0",
      "file": "receipts/cycles/20260621-052059977Z-5c4eb98cb0.json",
      "ts": "2026-06-21T05:20:59.977Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-21T05:20:24.027Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 52.77; MACD death_cross; MA trend bull; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9369,
            "reason": "realized volatility proxy 1.38%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bitcoin rotations into altcoins collapses: Have altseasons &apos;disappeared&apos;? | $13B Bitcoin options expiry looms: Will bu..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0083%, open interest 32.65K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to converge in a ranging market. Technicals are mixed with bullish moving averages offset by a MACD death cross and neutral RSI. Macro context is risk-off following a hawkish F..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5c4eb98cb04b4b1376c3ef1233899123ece9b55721d4a8bd2f70366d8464b6a8"
    },
    {
      "cycleId": "20260620-214319953Z-c040e977c3",
      "file": "receipts/cycles/20260620-214319953Z-c040e977c3.json",
      "ts": "2026-06-20T21:43:19.953Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T21:41:30.103Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 52.24; MACD death_cross; MA trend mixed; ATR 1.51%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9235,
            "reason": "realized volatility proxy 1.67%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0037%, open interest 695.34K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish, 1 bearish vs required 3). Technicals conflict with a MACD death cross and bearish Agent Hub verdict offset by mild 24h momentum, while derivatives ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c040e977c335cb5a000fa6d2b61a4d68cf0a73038b4a24bd34ee1a3e8a051596"
    },
    {
      "cycleId": "20260620-214242311Z-4f5fcc0569",
      "file": "receipts/cycles/20260620-214242311Z-4f5fcc0569.json",
      "ts": "2026-06-20T21:42:42.311Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T21:41:29.093Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.30; MACD death_cross; MA trend mixed; ATR 1.13%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9337,
            "reason": "realized volatility proxy 1.45%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0002%, open interest 32.49K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical and qualitative signals fail to converge, registering only one bullish and one bearish reading against the required threshold of three. Short-term momentum shows minor upside, but..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4f5fcc056999980c0c735d12fa8ee64cc1d57a21e43e4fa87e00dd19045f5521"
    },
    {
      "cycleId": "20260620-214209631Z-7cd7e9a80c",
      "file": "receipts/cycles/20260620-214209631Z-7cd7e9a80c.json",
      "ts": "2026-06-20T21:42:09.631Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0134,
      "rawDirection": "long",
      "maxAdversePct": 5.8426,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T21:41:32.124Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.725,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 58.45; MACD death_cross; MA trend bull; ATR 1.94%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8815,
            "reason": "realized volatility proxy 2.59%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched SOL: Live markets: Bitcoin under pressure as Saylor comments on STRC selloff | Ex-Celsius CEO Mashinsky gets U.S. CFTC ban in final r..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0077%, open interest 4.14M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Short-term technical momentum is positive, but it is offset by a MACD death cross, a range-bound market regime, and neutral derivatives positioning. The recent risk-off macro backdrop from ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7cd7e9a80c20e7312b3e1b5d80cc850b7b63367efd8a894196b61da65e9050f4"
    },
    {
      "cycleId": "20260620-175141235Z-643983060f",
      "file": "receipts/cycles/20260620-175141235Z-643983060f.json",
      "ts": "2026-06-20T17:51:41.235Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T17:49:58.677Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 54.02; MACD death_cross; MA trend mixed; ATR 2.04%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8755,
            "reason": "realized volatility proxy 2.72%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.12M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the convergence threshold required for execution. Technical inputs are conflicted, showing short-term bullish momentum offset by a medium-term bearish MACD death cross,..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "643983060f6b82ddee2c972ba3d157e2e016187a2947a5cdb025fa8b1944802f"
    },
    {
      "cycleId": "20260620-175111930Z-c1e03f0212",
      "file": "receipts/cycles/20260620-175111930Z-c1e03f0212.json",
      "ts": "2026-06-20T17:51:11.930Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T17:49:57.996Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.11; MACD death_cross; MA trend mixed; ATR 1.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9135,
            "reason": "realized volatility proxy 1.89%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0007%, open interest 692.88K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold of 3 is not met. Technical inputs are split between a bearish 4H agent verdict (MACD death cross, mixed MAs) and minor short-term bullish momentum, while deriva..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c1e03f02122c03ba072a822405432f9e192be790012d21aee64fccef47c58e88"
    },
    {
      "cycleId": "20260620-175040998Z-33f5fda622",
      "file": "receipts/cycles/20260620-175040998Z-33f5fda622.json",
      "ts": "2026-06-20T17:50:40.998Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.029,
      "counterfactualRawReturnPct": 0.029,
      "rawDirection": "short",
      "maxAdversePct": 0.8145,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T17:49:59.784Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 49.18; MACD death_cross; MA trend mixed; ATR 1.19%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9322,
            "reason": "realized volatility proxy 1.48%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched BTC: $13B Bitcoin options expiry looms: Will bulls endure more pain in June? | GoMining challenges Jack Dorsey's Square with payments..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0034%, open interest 32.52K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTCUSDT is range-bound near $63,810 with insufficient signal convergence for a directional trade. The framework requires 3 aligned signals to execute, but current counts show only 1 bullish..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "33f5fda622d7e242d6c2a4bf57b391b4aca9dd03a5a809371ef7de64c467a4f8"
    },
    {
      "cycleId": "20260620-143535083Z-a4ad354f7b",
      "file": "receipts/cycles/20260620-143535083Z-a4ad354f7b.json",
      "ts": "2026-06-20T14:35:35.083Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1573,
      "rawDirection": "long",
      "maxAdversePct": 8.0554,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T14:33:52.692Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.54; MACD death_cross; MA trend mixed; ATR 2.04%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8261,
            "reason": "realized volatility proxy 3.79%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0032%, open interest 4.13M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOL/USDT is range-bound with conflicting technicals: 24h momentum is mildly bullish, but the 4h technical verdict is bearish (MACD death cross, mixed MAs). Derivatives show balanced positio..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a4ad354f7bcd323398d81eb5e83289246fccca6b102035b1e84aa759f22f1627"
    },
    {
      "cycleId": "20260620-143501995Z-917a7f9e66",
      "file": "receipts/cycles/20260620-143501995Z-917a7f9e66.json",
      "ts": "2026-06-20T14:35:01.995Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T14:33:51.054Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.97; MACD death_cross; MA trend mixed; ATR 1.17%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9038,
            "reason": "realized volatility proxy 2.10%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0001%, open interest 32.64K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence is insufficient, with only one bullish and one bearish reading falling short of the required three-signal threshold. The asset is range-bound, moving averages are mixed, ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "917a7f9e663f4796e9b6b919b17e168145ec9007e0f8c5e941ab02cc58c0b1e1"
    },
    {
      "cycleId": "20260620-143428233Z-aee96ac28f",
      "file": "receipts/cycles/20260620-143428233Z-aee96ac28f.json",
      "ts": "2026-06-20T14:34:28.233Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1302,
      "counterfactualRawReturnPct": 0.1302,
      "rawDirection": "short",
      "maxAdversePct": 1.393,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T14:33:53.769Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 47.24; MACD death_cross; MA trend mixed; ATR 1.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8657,
            "reason": "realized volatility proxy 2.93%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Charles Schwab to enter prediction markets with S&amp;P 500 wagers: WSJ | Ethereum faces core development funding crisis, former..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0025%, open interest 725.82K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish technicals and risk-off macro context are present but fail to meet the required 3-signal convergence threshold. Range-bound price action, balanced derivatives positioning, and neutr..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "aee96ac28f5c3bc5ff149e424b1aa8ccc1f2de3b89ba16c81301c09a04119627"
    },
    {
      "cycleId": "20260620-104327853Z-51db9648b0",
      "file": "receipts/cycles/20260620-104327853Z-51db9648b0.json",
      "ts": "2026-06-20T10:43:27.853Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T10:41:51.471Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 54.63; MACD death_cross; MA trend mixed; ATR 1.97%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8227,
            "reason": "realized volatility proxy 3.87%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0013%, open interest 4.2M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals are split, with one bullish reading conflicting with one bearish 4h verdict, failing the required 3-signal convergence threshold. The asset is in a defined range regime wi..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "51db9648b0a30c0ca2a4ac6507145953fee1dfa19582edb4b5b0cc29b3ef16c4"
    },
    {
      "cycleId": "20260620-104303388Z-2fad35dd3b",
      "file": "receipts/cycles/20260620-104303388Z-2fad35dd3b.json",
      "ts": "2026-06-20T10:43:03.388Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T10:41:50.543Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.52; MACD death_cross; MA trend mixed; ATR 1.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8638,
            "reason": "realized volatility proxy 2.97%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0049%, open interest 729.75K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet with only 1 bullish and 1 bearish signal against a required 3. ETH is range-bound near 1725 with conflicting technicals (MACD death cross vs short-term positive ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2fad35dd3be55826476e411e72f1007453d8289fca451ee217d76257230eb174"
    },
    {
      "cycleId": "20260620-104239361Z-d6149d49f1",
      "file": "receipts/cycles/20260620-104239361Z-d6149d49f1.json",
      "ts": "2026-06-20T10:42:39.361Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0888,
      "rawDirection": "short",
      "maxAdversePct": 2.1439,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T10:41:52.595Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.74; MACD death_cross; MA trend mixed; ATR 1.18%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8998,
            "reason": "realized volatility proxy 2.19%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched BTC: $13B Bitcoin options expiry looms: Will bulls endure more pain in June? | Bitcoin decouples from tech stocks: Is $60K BTC’s next..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0037%, open interest 32.78K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market remains range-bound with conflicting signals: a bearish MACD death cross and weak momentum oppose balanced derivatives positioning and neutral RSI. Post-FOMC macro caution persists, ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "d6149d49f122f8c168c382fe9c8a5a133cf853be83741b29d1640d337cf3dca4"
    },
    {
      "cycleId": "20260620-044442325Z-6de8863eb0",
      "file": "receipts/cycles/20260620-044442325Z-6de8863eb0.json",
      "ts": "2026-06-20T04:44:42.325Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1453,
      "rawDirection": "long",
      "maxAdversePct": 7.6018,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T04:42:45.288Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.96; MACD death_cross; MA trend mixed; ATR 1.93%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8293,
            "reason": "realized volatility proxy 3.72%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0072%, open interest 4.16M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals are fragmented within a range-bound regime. While 24h momentum shows slight upside, the 4h technical framework is bearish with a MACD death cross and mixed moving averages. Derivati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6de8863eb0d8fd44c33ffd4033c7c843bc0585015baf5ec8cc716951f6ed9f56"
    },
    {
      "cycleId": "20260620-044404886Z-6bca5b2793",
      "file": "receipts/cycles/20260620-044404886Z-6bca5b2793.json",
      "ts": "2026-06-20T04:44:04.886Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T04:42:43.999Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.55; MACD death_cross; MA trend mixed; ATR 1.19%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.899,
            "reason": "realized volatility proxy 2.20%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0019%, open interest 32.44K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals are split between short-term bullish momentum and a 4-hour bearish structure, while derivatives positioning and volatility metrics indicate a balanced ranging market. The ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6bca5b2793ef79f257517fa4956d447f7ad39a9bbc1311dcaf50c9fce7feac3b"
    },
    {
      "cycleId": "20260620-044325635Z-f54f4e847a",
      "file": "receipts/cycles/20260620-044325635Z-f54f4e847a.json",
      "ts": "2026-06-20T04:43:25.635Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-20T04:42:46.096Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 47.16; MACD death_cross; MA trend mixed; ATR 1.57%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8638,
            "reason": "realized volatility proxy 2.97%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Charles Schwab to enter prediction markets with S&amp;P 500 wagers: WSJ | Ethereum faces core development funding crisis, former..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0002%, open interest 735.88K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is range-bound near $1.71K with divergent technicals and qualitative factors. Short-term momentum shows slight upside, but the 4h MACD death cross, mixed moving averages, and a bear..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f54f4e847a66a09511a30b66d3c5ba7d68551fe0e18163da3d6de61a9c3937a1"
    },
    {
      "cycleId": "20260619-213907823Z-05693c13ce",
      "file": "receipts/cycles/20260619-213907823Z-05693c13ce.json",
      "ts": "2026-06-19T21:39:07.823Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-19T21:37:18.498Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 43.26; MACD death_cross; MA trend mixed; ATR 2.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8285,
            "reason": "realized volatility proxy 3.74%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0022%, open interest 4.21M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals are fragmented with only 1 bearish and 1 bullish reading against a required threshold of 3 for trade execution. Despite a recognized downtrend regime and a MACD death cross, broader..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "05693c13ce06e33c726aa2f5654026af5319b41af6d26d04ce20c7144eb76b18"
    },
    {
      "cycleId": "20260619-213837230Z-f97aff0944",
      "file": "receipts/cycles/20260619-213837230Z-f97aff0944.json",
      "ts": "2026-06-19T21:38:37.230Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-19T21:37:16.969Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 41.82; MACD death_cross; MA trend mixed; ATR 1.27%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8972,
            "reason": "realized volatility proxy 2.24%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0025%, open interest 32.49K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with balanced derivatives and conflicting technicals. While the agent hub flags a bearish MACD death cross, momentum is neutral and the required 3-signal convergence i..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f97aff0944e59d7de30be61e70b118cbdd3174feab19eafe5cba4a6fb44f8f27"
    },
    {
      "cycleId": "20260619-213805934Z-5f1df13630",
      "file": "receipts/cycles/20260619-213805934Z-5f1df13630.json",
      "ts": "2026-06-19T21:38:05.934Z",
      "symbol": "ETHUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.5353,
      "counterfactualRawReturnPct": 0.5353,
      "rawDirection": "short",
      "maxAdversePct": 0.9825,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-19T21:37:20.210Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.40; MACD death_cross; MA trend mixed; ATR 1.70%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8606,
            "reason": "realized volatility proxy 3.04%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Charles Schwab to enter prediction markets with S&amp;P 500 wagers: WSJ | Ethereum faces core development funding crisis, former..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0036%, open interest 747.09K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6,
            "reason": "Technical and qualitative signals converge bearishly: 4H MACD shows a death cross, RSI sits at 44.4, and price struggles below the $1,700 level in a confirmed downtrend. Macro risk-off sent..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "5f1df13630ad858dd53221dc7875c5f82b9b0e7bf168c6971a5b8f7ea0f28aab"
    },
    {
      "cycleId": "20260619-122052876Z-33788d8c71",
      "file": "receipts/cycles/20260619-122052876Z-33788d8c71.json",
      "ts": "2026-06-19T12:20:52.876Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.2602,
      "rawDirection": "short",
      "maxAdversePct": 2.3816,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-19T12:18:58.978Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 38.15; MACD death_cross; MA trend mixed; ATR 2.09%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.803,
            "reason": "realized volatility proxy 4.30%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0040%, open interest 4.15M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bearish momentum and a MACD death cross align with the downtrend regime, but convergence thresholds are unmet with only two bearish signals versus the three required. Neutral funding, balan..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "33788d8c7137afe7e4e90e1a16acfe1a492af22763379a552eb1eec39b317511"
    },
    {
      "cycleId": "20260619-122024614Z-9e0781f4bf",
      "file": "receipts/cycles/20260619-122024614Z-9e0781f4bf.json",
      "ts": "2026-06-19T12:20:24.614Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.2062,
      "counterfactualRawReturnPct": 0.2062,
      "rawDirection": "short",
      "maxAdversePct": 1.7152,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-19T12:18:58.272Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 39.78; MACD death_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8374,
            "reason": "realized volatility proxy 3.55%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0070%, open interest 762.21K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Despite a confirmed downtrend and two bearish technical readings (MACD death cross, negative 24h/72h momentum), the required threshold of 3 converging directional signals is not met. Deriva..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9e0781f4bf10331081a9bc923c81c3a34f40256703c06fd70f4aeb8d722936a9"
    },
    {
      "cycleId": "20260619-121948329Z-29d159587d",
      "file": "receipts/cycles/20260619-121948329Z-29d159587d.json",
      "ts": "2026-06-19T12:19:48.329Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.5602,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 1.1772,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-19T12:19:00.322Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 35.11; MACD death_cross; MA trend mixed; ATR 1.28%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8762,
            "reason": "realized volatility proxy 2.70%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bitcoin decouples from tech stocks: Is $60K BTC’s next stop? | Bitcoin to $145K by October? Why this &apos;crazy accurate&apos; ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0039%, open interest 32.61K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.65,
            "reason": "Bearish convergence across technicals and macro: confirmed downtrend regime with negative momentum (-5.35% over 72h), 4h MACD death cross, and RSI at 35.11. Post-FOMC risk-off environment a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "29d159587d36a5bddbc881b149a0d6ea5c6a7954c0cbfacb82e1133ac5843a25"
    },
    {
      "cycleId": "20260619-052956464Z-bafef10cf9",
      "file": "receipts/cycles/20260619-052956464Z-bafef10cf9.json",
      "ts": "2026-06-19T05:29:56.464Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.3178,
      "rawDirection": "long",
      "maxAdversePct": 8.4062,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-19T05:27:57.095Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 39.23; MACD golden_cross; MA trend mixed; ATR 2.29%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8006,
            "reason": "realized volatility proxy 4.35%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.17M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to converge for a directional entry: confirmed downtrend regime and strong negative momentum (-3.92% over 24h, -7.60% over 72h) oppose a single MACD golden cross, while derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bafef10cf94a25b1ae15983fcc9c9ca7a399f78a56af17f7bde87cd55131b58f"
    },
    {
      "cycleId": "20260619-052922696Z-11adb1219a",
      "file": "receipts/cycles/20260619-052922696Z-11adb1219a.json",
      "ts": "2026-06-19T05:29:22.696Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-19T05:27:56.531Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 40.77; MACD golden_cross; MA trend mixed; ATR 1.92%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8349,
            "reason": "realized volatility proxy 3.60%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0016%, open interest 750.34K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "ETHUSDT is range-bound (~1660-1845) with conflicting technicals: negative 24h/72h momentum contrasts with a MACD golden cross and neutral RSI at 40.77. Moving averages are mixed and derivat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "11adb1219af4bc16ea0de72b5942bb86ab33a4cdaf104daf35e8ec0b3fc7d926"
    },
    {
      "cycleId": "20260619-052834486Z-55034c0a54",
      "file": "receipts/cycles/20260619-052834486Z-55034c0a54.json",
      "ts": "2026-06-19T05:28:34.486Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.7358,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 0.9416,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-19T05:27:57.865Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 35.73; MACD death_cross; MA trend mixed; ATR 1.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8748,
            "reason": "realized volatility proxy 2.73%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 2 matched BTC: Bitcoin decouples from tech stocks: Is $60K BTC’s next stop? | Bitcoin to $145K by October? Why this &apos;crazy accurate&apos; ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0017%, open interest 32.59K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.72,
            "reason": "Bearish technicals and macro conditions converge on a continuation play. Price has broken below key moving averages, MACD shows a death cross, and 24h/72h momentum remains negative. Post-FO..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "55034c0a5479ca13f8ff6db26773498332f15a4cf62dedcd15edc8910f7a86d4"
    },
    {
      "cycleId": "20260618-222826939Z-ec3153bbac",
      "file": "receipts/cycles/20260618-222826939Z-ec3153bbac.json",
      "ts": "2026-06-18T22:28:26.939Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-18T22:26:37.768Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.57; MACD golden_cross; MA trend mixed; ATR 2.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8024,
            "reason": "realized volatility proxy 4.31%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.1M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack the required directional convergence. While regime and momentum lean bearish, Agent Hub technicals are neutral with mixed moving averages and derivatives positioning is balance..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ec3153bbac7d19c4cb900faa6031a14dc7f25a6d821be107f6b070efa3cbba0c"
    },
    {
      "cycleId": "20260618-222752872Z-1738009e6d",
      "file": "receipts/cycles/20260618-222752872Z-1738009e6d.json",
      "ts": "2026-06-18T22:27:52.872Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-18T22:26:37.191Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.41; MACD golden_cross; MA trend mixed; ATR 1.96%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8367,
            "reason": "realized volatility proxy 3.56%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0016%, open interest 749.51K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the required convergence threshold of 3, showing only 1 bullish and 1 bearish count. The stated downtrend is counterbalanced by a neutral technical verdict, a MACD gold..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1738009e6dedc5f0946c63420c24bd3d937fd2f5d388a43bafae55ed55efd0b2"
    },
    {
      "cycleId": "20260618-222719406Z-acc675f2e8",
      "file": "receipts/cycles/20260618-222719406Z-acc675f2e8.json",
      "ts": "2026-06-18T22:27:19.406Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.6624,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 1.1293,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-18T22:26:38.651Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 37.21; MACD death_cross; MA trend mixed; ATR 1.46%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8758,
            "reason": "realized volatility proxy 2.71%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 1 matched BTC: Bitcoin decouples from tech stocks: Is $60K BTC’s next stop? | Bitcoin to $145K by October? Why this &apos;crazy accurate&apos; ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0011%, open interest 32.77K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.72,
            "reason": "Technical and macro signals converge bearishly within a confirmed downtrend. The 4h chart exhibits a MACD death cross, RSI at 37.21, and negative momentum (-2.55% 24h / -5.21% 72h). Macro c..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "acc675f2e8cd39df447026a141a331d1f991aa3662c0df1901fb015a37f2eb89"
    },
    {
      "cycleId": "20260618-220816984Z-f83b40fecb",
      "file": "receipts/cycles/20260618-220816984Z-f83b40fecb.json",
      "ts": "2026-06-18T22:08:16.984Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-18T22:06:24.429Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.67; MACD golden_cross; MA trend mixed; ATR 2.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8024,
            "reason": "realized volatility proxy 4.31%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.11M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is not met, with only one bearish and one bullish signal present versus the required three. Technical indicators are mixed: bearish short-term momentum and a co..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f83b40fecb13303d05fa9f14f7d75c964696adfbddfdf664f78d3931dcaf7653"
    },
    {
      "cycleId": "20260618-220743392Z-41bec1c9fc",
      "file": "receipts/cycles/20260618-220743392Z-41bec1c9fc.json",
      "ts": "2026-06-18T22:07:43.392Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-18T22:06:23.743Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.97; MACD golden_cross; MA trend mixed; ATR 1.96%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8368,
            "reason": "realized volatility proxy 3.56%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0015%, open interest 749.6K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Mixed technical signals and neutral derivatives sentiment fail to meet the required convergence threshold. Bearish momentum and a confirmed downtrend are counterbalanced by a 4h MACD golden..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "41bec1c9fc7553af497a51b84bfb6a6732050fb6e6bb505e671b28f6cf940978"
    },
    {
      "cycleId": "20260618-220710123Z-4007088562",
      "file": "receipts/cycles/20260618-220710123Z-4007088562.json",
      "ts": "2026-06-18T22:07:10.123Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.6513,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 1.1293,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-18T22:06:25.631Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 37.56; MACD death_cross; MA trend mixed; ATR 1.44%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8758,
            "reason": "realized volatility proxy 2.71%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 1 matched BTC: Bitcoin decouples from tech stocks: Is $60K BTC’s next stop? | Bitcoin to $145K by October? Why this &apos;crazy accurate&apos; ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0020%, open interest 32.76K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.72,
            "reason": "BTC exhibits a confirmed downtrend with negative 72h momentum (-5.12%) and a 4H MACD death cross. Price has broken below the 63.8K support level. Macro headwinds from a recent hawkish FOMC ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "4007088562997b9915309a9b8586da333370afe9914a63553d590b7edba26d16"
    },
    {
      "cycleId": "20260618-220154843Z-8a67e0923b",
      "file": "receipts/cycles/20260618-220154843Z-8a67e0923b.json",
      "ts": "2026-06-18T22:01:54.843Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-18T21:59:59.172Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 42.86; MACD golden_cross; MA trend mixed; ATR 2.30%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8024,
            "reason": "realized volatility proxy 4.31%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 4.11M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals lack directional convergence with only one clear bearish and one bullish indicator, falling short of the required threshold for execution. Momentum is negative across 24h/72h, but a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8a67e0923bc91a9f0ce42a43c2a12b4dded20d1bf89d287b2d42ad61832078d7"
    },
    {
      "cycleId": "20260618-220124483Z-73f1e435f9",
      "file": "receipts/cycles/20260618-220124483Z-73f1e435f9.json",
      "ts": "2026-06-18T22:01:24.483Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-18T21:59:58.449Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 43.39; MACD golden_cross; MA trend mixed; ATR 1.95%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8367,
            "reason": "realized volatility proxy 3.56%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0013%, open interest 749.52K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met: only one bearish and one bullish signal are present, falling short of the required three for trade execution. Technical indicators remain mixed with ne..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "73f1e435f92cbede959186d8bb97ab37b0d3d445f6109ab51aa8b8d80fb23248"
    },
    {
      "cycleId": "20260618-220047511Z-8012b19ed9",
      "file": "receipts/cycles/20260618-220047511Z-8012b19ed9.json",
      "ts": "2026-06-18T22:00:47.511Z",
      "symbol": "BTCUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.52,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.4734,
      "counterfactualRawReturnPct": 0.4734,
      "rawDirection": "short",
      "maxAdversePct": 1.0259,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-18T22:00:00.411Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 37.86; MACD death_cross; MA trend mixed; ATR 1.44%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8757,
            "reason": "realized volatility proxy 2.71%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Federal Reserve issues FOMC statement; macro_indicators link: https://www.federalreserve.gov/newsevents/..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.725,
            "reason": "Agent Hub news returned 8 market headline(s); 0 matched BTC: Bitcoin to $145K by October? Why this &apos;crazy accurate&apos; 4chan prediction is sketchy | Bitcoin market cap rebound to tak..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0020%, open interest 32.79K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.52,
            "reason": "Bearish technicals and macro risk-off bias converge. Negative 24h/72h momentum, a 4H MACD death cross, and a confirmed downtrend regime align with hawkish FOMC policy and a strong DXY (~100..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8012b19ed96ea57640807a3a8b8de3fa5b6f3048831f1771a73ad1b5d1aee6f6"
    },
    {
      "cycleId": "20260615-053236970Z-403a97c3af",
      "file": "receipts/cycles/20260615-053236970Z-403a97c3af.json",
      "ts": "2026-06-15T05:32:36.970Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.9976,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.006,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-15T05:30:14.094Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 4,
          "standDown": 0,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 69.11; MACD golden_cross; MA trend mixed; ATR 1.78%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.856,
            "reason": "realized volatility proxy 3.14%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0019%, open interest 4.58M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Strong bullish convergence (4 signals vs 3 required) supported by positive multi-day momentum, a 4h MACD golden cross, and a confirmed uptrend regime. Neutral derivatives funding indicates ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "403a97c3af63ef56fc001089b317845a9bfc4f2199a4b0768b2191e82fe857de"
    },
    {
      "cycleId": "20260615-053156035Z-6c1ebf9240",
      "file": "receipts/cycles/20260615-053156035Z-6c1ebf9240.json",
      "ts": "2026-06-15T05:31:56.035Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.72,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.4579,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.5044,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-15T05:30:13.449Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 64.52; MACD golden_cross; MA trend mixed; ATR 1.34%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8961,
            "reason": "realized volatility proxy 2.27%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 822.98K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.72,
            "reason": "Bullish convergence threshold met with 3 confirming signals: 4h MACD golden cross, positive 24h/72h momentum, and price sustaining above the 1681-1691 resistance cluster and short/medium MA..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "6c1ebf924034fb003ee03b19a457b150a8dfc86d8f1c4625bcabccaf44ca5a11"
    },
    {
      "cycleId": "20260615-053058966Z-b0e20c94b9",
      "file": "receipts/cycles/20260615-053058966Z-b0e20c94b9.json",
      "ts": "2026-06-15T05:30:58.966Z",
      "symbol": "BTCUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.4674,
      "counterfactualRawReturnPct": 0.4674,
      "rawDirection": "long",
      "maxAdversePct": 0.0935,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-15T05:30:15.604Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 67.75; MACD golden_cross; MA trend mixed; ATR 1.09%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9171,
            "reason": "realized volatility proxy 1.81%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: StanChart looks for 3 signs of BTC bottom, including Strategy’s Monday news | Bitcoin nears $65K as Trump says Hormuz will 'open..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0073%, open interest 32.43K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6,
            "reason": "Technical signals converge on a bullish setup with confirmed uptrend regime, positive momentum, and a 4H MACD golden cross. Easing geopolitical headlines support risk appetite, while neutra..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b0e20c94b9398f62d5aac581d12cd23218cab506576facabb4201ce331dd631b"
    },
    {
      "cycleId": "20260614-214440891Z-3942321c07",
      "file": "receipts/cycles/20260614-214440891Z-3942321c07.json",
      "ts": "2026-06-14T21:44:40.891Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0949,
      "counterfactualRawReturnPct": 0.0949,
      "rawDirection": "long",
      "maxAdversePct": 1.2923,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T21:42:49.894Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 63.73; MACD golden_cross; MA trend mixed; ATR 1.40%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9053,
            "reason": "realized volatility proxy 2.07%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 817.14K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical momentum and a MACD golden cross are present, but only two converging bullish signals are detected against the required three for trade confirmation. ETHUSDT remains in a ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3942321c07a9a15ca458af50a0925d53cc76ad1c20c5201b0c1ad72401d91d3c"
    },
    {
      "cycleId": "20260614-214409789Z-0ee26d972b",
      "file": "receipts/cycles/20260614-214409789Z-0ee26d972b.json",
      "ts": "2026-06-14T21:44:09.789Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0986,
      "counterfactualRawReturnPct": 0.0986,
      "rawDirection": "long",
      "maxAdversePct": 1.2417,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T21:42:49.082Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 64.58; MACD golden_cross; MA trend mixed; ATR 1.12%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9265,
            "reason": "realized volatility proxy 1.60%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0081%, open interest 31.27K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Bullish technical readings (MACD golden cross, positive momentum) are present but only count as 2 converging signals, falling short of the 3 required for execution. The market remains in a ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0ee26d972be8d223aa7e85b825f2b4211b3e022334dba005a55e094f3cb2aaec"
    },
    {
      "cycleId": "20260614-214337284Z-ae7e309c9b",
      "file": "receipts/cycles/20260614-214337284Z-ae7e309c9b.json",
      "ts": "2026-06-14T21:43:37.284Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.5343,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.4519,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T21:42:51.691Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 65.14; MACD golden_cross; MA trend mixed; ATR 1.84%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8652,
            "reason": "realized volatility proxy 2.94%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Blockworks acquires Messari in crypto data consolidation push | Ripple wants AI agents to pay in XRP and RLUSD. The market is st..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0042%, open interest 4.48M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Technical momentum and trend confirmation align for a bullish continuation. The 4h MACD shows a golden cross, 24h/72h price momentum is positive, and the market regime is confirmed uptrend...."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "ae7e309c9b079487f4bdf553420e2ac7d984c0250164340c65c313da4d95da7b"
    },
    {
      "cycleId": "20260614-175314786Z-1e09803e72",
      "file": "receipts/cycles/20260614-175314786Z-1e09803e72.json",
      "ts": "2026-06-14T17:53:14.786Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T17:51:28.403Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.51; MACD golden_cross; MA trend mixed; ATR 1.70%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9094,
            "reason": "realized volatility proxy 1.98%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0081%, open interest 4.55M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals fail to meet the required three-signal convergence threshold, with technical readings split between bullish (MACD cross) and bearish (negative short-term momentum). Price is trapped..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1e09803e729e6b00d9d14e35f5b3744978769b83d307aa7dacdbad955ca857f0"
    },
    {
      "cycleId": "20260614-175238553Z-9ffc8b81c4",
      "file": "receipts/cycles/20260614-175238553Z-9ffc8b81c4.json",
      "ts": "2026-06-14T17:52:38.553Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T17:51:27.648Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 46.94; MACD golden_cross; MA trend mixed; ATR 1.26%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9542,
            "reason": "realized volatility proxy 1.00%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 810.84K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold (3 required) is unmet with only 1 bullish and 1 bearish technical reading. Negative 24h/72h momentum conflicts with a MACD golden cross. The asset is range-boun..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9ffc8b81c442253a3b61bdf175fc88cff669fed789d21b371bb4e3d2b62d4228"
    },
    {
      "cycleId": "20260614-175207591Z-8551f6b6bb",
      "file": "receipts/cycles/20260614-175207591Z-8551f6b6bb.json",
      "ts": "2026-06-14T17:52:07.591Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T17:51:29.506Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.29; MACD golden_cross; MA trend mixed; ATR 1.02%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9558,
            "reason": "realized volatility proxy 0.96%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: Bitcoin nears $65K as Trump says Hormuz will 'open to all' in Sunday Iran peace deal | Bitcoin surfs SpaceX IPO at $64K as trade..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0025%, open interest 32.3K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Price remains trapped in a defined range with mixed technicals (neutral RSI, mixed MA trend) and balanced derivatives positioning. Macro backdrop leans risk-off while news sentiment is bifu..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "8551f6b6bbccd44de09091dd8734d733b1ead0f536481f5b1707ec208eb72409"
    },
    {
      "cycleId": "20260614-143415612Z-feecc54e03",
      "file": "receipts/cycles/20260614-143415612Z-feecc54e03.json",
      "ts": "2026-06-14T14:34:15.612Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T14:32:23.753Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.94; MACD golden_cross; MA trend mixed; ATR 1.74%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8946,
            "reason": "realized volatility proxy 2.30%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0014%, open interest 4.61M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signals are split between a bullish MACD crossover and bearish short-term momentum within a confirmed ranging regime. The mandatory convergence of three aligned signals is unmet, and balanc..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "feecc54e03286d8174f359d693a1a5a9b4d8fdc75b4b0572cd0748df13d8e7b3"
    },
    {
      "cycleId": "20260614-143339186Z-dd3196b993",
      "file": "receipts/cycles/20260614-143339186Z-dd3196b993.json",
      "ts": "2026-06-14T14:33:39.186Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T14:32:22.950Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 47.69; MACD golden_cross; MA trend mixed; ATR 1.28%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9292,
            "reason": "realized volatility proxy 1.54%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bearish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0095%, open interest 804.26K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is not met (1 bullish vs 1 bearish, requiring 3). Price is consolidating in a range regime with neutral funding/OI, mixed moving averages, and conflicting short..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "dd3196b993ead56376e6574ef12164b8d80d2864582b07edb5a3268394a24698"
    },
    {
      "cycleId": "20260614-143306715Z-74940c81ca",
      "file": "receipts/cycles/20260614-143306715Z-74940c81ca.json",
      "ts": "2026-06-14T14:33:06.715Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T14:32:25.061Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.65; MACD golden_cross; MA trend mixed; ATR 1.02%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9496,
            "reason": "realized volatility proxy 1.10%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched BTC: Bitcoin nears $65K as Trump says Hormuz will 'open to all' in Sunday Iran peace deal | Bitcoin surfs SpaceX IPO at $64K as trade..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0007%, open interest 31.68K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is range-bound near $64K with flat momentum and balanced derivatives positioning. Signal convergence is below the required threshold: bullish technical indicators are neutralized by ris..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "74940c81ca38f14db511aac8d339bbc2982197ab912ddc03b27c76a1447b5337"
    },
    {
      "cycleId": "20260614-111122697Z-699fe6e9da",
      "file": "receipts/cycles/20260614-111122697Z-699fe6e9da.json",
      "ts": "2026-06-14T11:11:22.697Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0487,
      "counterfactualRawReturnPct": 0.0487,
      "rawDirection": "long",
      "maxAdversePct": 1.2574,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T11:09:29.514Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 51.60; MACD golden_cross; MA trend mixed; ATR 1.32%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9091,
            "reason": "realized volatility proxy 1.98%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0059%, open interest 797.68K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet: only 1 of 3 required signals is active. Market is in a range with neutral momentum, balanced derivatives positioning, and unclear volatility, providing insuffic..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "699fe6e9da37d6492eb0f4bcdf935f61b665aea5a17bf0f3946e69bab535c81a"
    },
    {
      "cycleId": "20260614-111054327Z-7df159e1d8",
      "file": "receipts/cycles/20260614-111054327Z-7df159e1d8.json",
      "ts": "2026-06-14T11:10:54.327Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0909,
      "counterfactualRawReturnPct": 0.0909,
      "rawDirection": "long",
      "maxAdversePct": 1.1625,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T11:09:28.745Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 62.12; MACD golden_cross; MA trend mixed; ATR 1.03%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9355,
            "reason": "realized volatility proxy 1.41%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0041%, open interest 31.97K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with weak signal convergence: only one technical source shows bullish alignment, falling short of the required three. Derivatives positioning and funding are neutral, ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7df159e1d8e4de08c1a09ceec66549b4f23c25d61c0fdb42d9916469f1620c4a"
    },
    {
      "cycleId": "20260614-111014651Z-cb2c16d69d",
      "file": "receipts/cycles/20260614-111014651Z-cb2c16d69d.json",
      "ts": "2026-06-14T11:10:14.651Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1584,
      "counterfactualRawReturnPct": 0.1584,
      "rawDirection": "long",
      "maxAdversePct": 0.8444,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T11:09:31.624Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 56.99; MACD golden_cross; MA trend mixed; ATR 1.77%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8814,
            "reason": "realized volatility proxy 2.59%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Blockworks acquires Messari in crypto data consolidation push | Ripple wants AI agents to pay in XRP and RLUSD. The market is st..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0038%, open interest 4.58M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "SOL is range-bound with minimal 24h momentum (0.22%). Technicals show mixed signals (MACD golden cross offset by neutral RSI and weak trend), failing the required 3-signal convergence thres..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cb2c16d69d42ee3a4110a7d91b2b1f984cb0c41f87f03ca0d51e93abfd88e128"
    },
    {
      "cycleId": "20260614-051330874Z-baf54f20dc",
      "file": "receipts/cycles/20260614-051330874Z-baf54f20dc.json",
      "ts": "2026-06-14T05:13:30.874Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0596,
      "counterfactualRawReturnPct": 0.0596,
      "rawDirection": "long",
      "maxAdversePct": 1.3153,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T05:11:28.284Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.82; MACD golden_cross; MA trend mixed; ATR 1.36%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9046,
            "reason": "realized volatility proxy 2.08%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0085%, open interest 794.78K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met with only 1 bullish signal versus the required 3. ETHUSDT is trading in a range-bound regime with neutral derivatives positioning and unclear market intel. The..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "baf54f20dcdd925d5063936a811b6a52904412e48891bdba7ce4129dfc7fe1db"
    },
    {
      "cycleId": "20260614-051258519Z-9ef36ddedc",
      "file": "receipts/cycles/20260614-051258519Z-9ef36ddedc.json",
      "ts": "2026-06-14T05:12:58.519Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1061,
      "counterfactualRawReturnPct": 0.1061,
      "rawDirection": "long",
      "maxAdversePct": 0.5933,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T05:11:27.495Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 60.47; MACD golden_cross; MA trend mixed; ATR 1.06%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9297,
            "reason": "realized volatility proxy 1.53%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0046%, open interest 31.89K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show mild bullish momentum (MACD golden cross, RSI ~60) but fail to meet the required 3-signal convergence threshold (only 2 bullish signals present). Price is trading ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9ef36ddedceef23046dd0ee31a638ff4cbf16f3caf18af63fef2598d8de03747"
    },
    {
      "cycleId": "20260614-051218618Z-142bc0b5d4",
      "file": "receipts/cycles/20260614-051218618Z-142bc0b5d4.json",
      "ts": "2026-06-14T05:12:18.618Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.5842,
      "counterfactualRawReturnPct": 0.5842,
      "rawDirection": "long",
      "maxAdversePct": 0.2338,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-14T05:11:30.236Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 60.49; MACD golden_cross; MA trend mixed; ATR 1.76%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8742,
            "reason": "realized volatility proxy 2.75%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Blockworks acquires Messari in crypto data consolidation push | Ripple wants AI agents to pay in XRP and RLUSD. The market is st..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0043%, open interest 4.53M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.6,
            "reason": "Bullish convergence confirmed across momentum, trend, and technical indicators, meeting the 3-signal threshold within an established uptrend regime. The 4h MACD shows a golden cross support..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "142bc0b5d475183c3680c4a61b27d6b4988eda793101a050b21428fef738571b"
    },
    {
      "cycleId": "20260613-214249566Z-969534087a",
      "file": "receipts/cycles/20260613-214249566Z-969534087a.json",
      "ts": "2026-06-13T21:42:49.566Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 1.116,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0.0063,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T21:40:18.126Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 4,
          "standDown": 0,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 61.13; MACD golden_cross; MA trend mixed; ATR 1.81%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8827,
            "reason": "realized volatility proxy 2.56%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "risk_on",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0064%, open interest 4.68M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.75,
            "reason": "Four converging bullish signals confirm the ongoing uptrend, surpassing the required threshold. Strong 72h momentum (8.99%) aligns with a 4h MACD golden cross and healthy RSI (61.13). Sligh..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "969534087af28022ca48dd48834b20a858128b1abc07639260acc16f87410551"
    },
    {
      "cycleId": "20260613-214202494Z-592d48d322",
      "file": "receipts/cycles/20260613-214202494Z-592d48d322.json",
      "ts": "2026-06-13T21:42:02.494Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.4166,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 0,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T21:40:17.359Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 0,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.13; MACD golden_cross; MA trend mixed; ATR 1.41%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9013,
            "reason": "realized volatility proxy 2.15%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel trend_confirmed, technical bullish. This is context only and does not count as an independent conver..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0057%, open interest 762.51K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Technical signals converge with 3/3 bullish confirmations met. The 4h timeframe shows a MACD golden cross and price holding above the 1660 support cluster, while neutral RSI (54.13) leaves ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "592d48d3228a2b699a5b24177e4ce76f32fdbb6a047baecc23876c82d6e0cae0"
    },
    {
      "cycleId": "20260613-214122152Z-055b638177",
      "file": "receipts/cycles/20260613-214122152Z-055b638177.json",
      "ts": "2026-06-13T21:41:22.152Z",
      "symbol": "BTCUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.45,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.3694,
      "counterfactualRawReturnPct": 0.3694,
      "rawDirection": "long",
      "maxAdversePct": 0,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T21:40:19.394Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 61.20; MACD golden_cross; MA trend mixed; ATR 1.11%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9266,
            "reason": "realized volatility proxy 1.60%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: Bitcoin surfs SpaceX IPO at $64K as trader warns key BTC price support may crumble | Bitcoin miner 'capitulation' comes as trade..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0074%, open interest 31.81K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.45,
            "reason": "Technical signals converge on a confirmed uptrend with positive short-term momentum and a MACD golden cross, meeting the system's required trade threshold. Conviction is capped at a moderat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "055b63817716772a7a82d649e45339d9e7dbb4e75fafb45fec31475fdfb04b7b"
    },
    {
      "cycleId": "20260613-175019618Z-cf8c903a77",
      "file": "receipts/cycles/20260613-175019618Z-cf8c903a77.json",
      "ts": "2026-06-13T17:50:19.618Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1149,
      "counterfactualRawReturnPct": 0.1149,
      "rawDirection": "long",
      "maxAdversePct": 1.6516,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T17:48:08.989Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 53.32; MACD golden_cross; MA trend mixed; ATR 1.50%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8995,
            "reason": "realized volatility proxy 2.19%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 757.16K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met. Only 1 bullish signal is present against a required minimum of 3, and the market regime is ranging. While the 4h MACD shows a golden cross, RSI is neutral, mo..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "cf8c903a7790169664c0042c7850f149c576e02de42c81d813367e24a5c138ff"
    },
    {
      "cycleId": "20260613-174944917Z-7cd3046fda",
      "file": "receipts/cycles/20260613-174944917Z-7cd3046fda.json",
      "ts": "2026-06-13T17:49:44.917Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1357,
      "counterfactualRawReturnPct": 0.1357,
      "rawDirection": "long",
      "maxAdversePct": 1.3712,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T17:48:08.183Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.99; MACD golden_cross; MA trend mixed; ATR 1.19%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9254,
            "reason": "realized volatility proxy 1.63%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0087%, open interest 31.85K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Range-bound regime with only 1 bullish signal registered, falling short of the 3 required for trade convergence. Mixed moving averages, neutral RSI (~58), and flat derivatives sentiment ind..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7cd3046fda3ffdf8873c9198a714993cb8dcc0431250001536d8a70a0b8a3a9d"
    },
    {
      "cycleId": "20260613-174849749Z-9613cc116e",
      "file": "receipts/cycles/20260613-174849749Z-9613cc116e.json",
      "ts": "2026-06-13T17:48:49.749Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.8443,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 1.9191,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T17:48:10.919Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 59.55; MACD golden_cross; MA trend mixed; ATR 1.91%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8793,
            "reason": "realized volatility proxy 2.63%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Blockworks acquires Messari in crypto data consolidation push | Ripple wants AI agents to pay in XRP and RLUSD. The market is st..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0028%, open interest 4.6M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Technical regime confirms an uptrend with a MACD golden cross, positive 72h momentum, and price above key moving averages. This bullish technical setup converges with positive ecosystem cat..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "9613cc116e135c54351c753cbdc8bc1d9e19fe76b5b34b83f43aad937e0b4a4b"
    },
    {
      "cycleId": "20260613-143151530Z-0a1e539168",
      "file": "receipts/cycles/20260613-143151530Z-0a1e539168.json",
      "ts": "2026-06-13T14:31:51.530Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0893,
      "rawDirection": "long",
      "maxAdversePct": 2.3761,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T14:29:55.276Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.32; MACD golden_cross; MA trend mixed; ATR 1.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8609,
            "reason": "realized volatility proxy 3.04%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0005%, open interest 754.6K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show mild bullish momentum and a MACD golden cross, but only two of the three required converging signals are present. The asset is trading in a range-bound regime with..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "0a1e539168521631273036f297b19f3e810a9c81682a307d5729ba3bb32ccae6"
    },
    {
      "cycleId": "20260613-143114479Z-66dafcb2b3",
      "file": "receipts/cycles/20260613-143114479Z-66dafcb2b3.json",
      "ts": "2026-06-13T14:31:14.479Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1223,
      "counterfactualRawReturnPct": 0.1223,
      "rawDirection": "long",
      "maxAdversePct": 1.8065,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T14:29:54.702Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 59.66; MACD golden_cross; MA trend mixed; ATR 1.22%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9088,
            "reason": "realized volatility proxy 1.99%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0064%, open interest 31.77K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Only two bullish technical signals are active, failing to meet the required threshold of three for convergence. The market remains in a range-bound regime with neutral derivatives positioni..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "66dafcb2b3af389e658af69ed0a88b82fa5fa0f54475f03babaf1fd6585942fb"
    },
    {
      "cycleId": "20260613-143036533Z-0ffb805821",
      "file": "receipts/cycles/20260613-143036533Z-0ffb805821.json",
      "ts": "2026-06-13T14:30:36.533Z",
      "symbol": "SOLUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.234,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": 3.5409,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T14:30:00.300Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "TRADE_CANDIDATE",
        "voteCounts": {
          "trade": 3,
          "standDown": 1,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 61.01; MACD golden_cross; MA trend mixed; ATR 1.94%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8542,
            "reason": "realized volatility proxy 3.18%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched SOL: Blockworks acquires Messari in crypto data consolidation push | Ripple wants AI agents to pay in XRP and RLUSD. The market is st..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0041%, open interest 4.55M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.65,
            "reason": "Technical signals converge bullishly with a MACD golden cross, positive short-term momentum, and a decisive break above the 67.46 resistance level. Range-bound regime supports continuation,..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "0ffb805821764cac98a1bd6fd2733d4a9c53c3c5b9114022e0e2a8ef06749cd7"
    },
    {
      "cycleId": "20260613-104239803Z-c453f9e024",
      "file": "receipts/cycles/20260613-104239803Z-c453f9e024.json",
      "ts": "2026-06-13T10:42:39.803Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.2083,
      "rawDirection": "long",
      "maxAdversePct": 2.7838,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T10:40:29.439Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.40; MACD golden_cross; MA trend mixed; ATR 1.99%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8501,
            "reason": "realized volatility proxy 3.27%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime uptrend, market-intel trend_confirmed, technical neutral. This is context only and does not count as an independent conv..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0031%, open interest 4.38M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Despite a bullish Agent Hub verdict and confirmed uptrend regime, the strategy requires 3 converging signals but only 2 bullish signals are currently present. Neutral derivatives positionin..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "c453f9e0240d0353f26909ec35983f777079bf7b86721df04e82777a6d6545aa"
    },
    {
      "cycleId": "20260613-104202434Z-936d933007",
      "file": "receipts/cycles/20260613-104202434Z-936d933007.json",
      "ts": "2026-06-13T10:42:02.434Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.097,
      "rawDirection": "short",
      "maxAdversePct": 3.5848,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T10:40:28.838Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 53.19; MACD death_cross; MA trend mixed; ATR 1.64%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8555,
            "reason": "realized volatility proxy 3.15%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0086%, open interest 776.97K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bearish signal vs 3 required). ETH trades in a defined range with balanced derivatives funding and neutral macro/news context. While the 4H technical agent ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "936d933007dcd7ce9a57e0bbafe7f1b7af18d2eb739dc9806eafa7cb0e7e8f0b"
    },
    {
      "cycleId": "20260613-104121996Z-226b8f2f91",
      "file": "receipts/cycles/20260613-104121996Z-226b8f2f91.json",
      "ts": "2026-06-13T10:41:21.996Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1477,
      "counterfactualRawReturnPct": 0.1477,
      "rawDirection": "long",
      "maxAdversePct": 0.7575,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T10:40:30.347Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 57.29; MACD golden_cross; MA trend mixed; ATR 1.27%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.907,
            "reason": "realized volatility proxy 2.03%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: Bitcoin surfs SpaceX IPO at $64K as trader warns key BTC price support may crumble | Bitcoin miner 'capitulation' comes as trade..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0046%, open interest 31.53K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical uptrend and MACD golden cross are present, but the required convergence threshold is unmet (2 bullish signals vs 3 required). Macro risk-off signals and mixed BTC news near the $6..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "226b8f2f91f81afc7d8b6a007cce635ced2b5384252449b69163168245fe8469"
    },
    {
      "cycleId": "20260613-064627194Z-4b746bdb9f",
      "file": "receipts/cycles/20260613-064627194Z-4b746bdb9f.json",
      "ts": "2026-06-13T06:46:27.194Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.114,
      "rawDirection": "short",
      "maxAdversePct": 4.4669,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T06:44:00.214Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.24; MACD death_cross; MA trend mixed; ATR 1.70%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8559,
            "reason": "realized volatility proxy 3.14%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical neutral. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for ETHUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0100%, open interest 779.05K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market regime is range-bound with balanced derivatives sentiment and absent macro or news catalysts. Only one bearish technical signal is present, falling short of the three required for tr..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4b746bdb9fcb0a08f34de68753d42144a33491df11e16f3beb1bc8cccfb66d61"
    },
    {
      "cycleId": "20260613-064553562Z-a546b0c3ca",
      "file": "receipts/cycles/20260613-064553562Z-a546b0c3ca.json",
      "ts": "2026-06-13T06:45:53.562Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1584,
      "counterfactualRawReturnPct": 0.1584,
      "rawDirection": "long",
      "maxAdversePct": 0.8782,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T06:43:36.694Z",
        "requiredLiveMembers": 3,
        "liveMembers": 4,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.98; MACD golden_cross; MA trend mixed; ATR 1.33%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9062,
            "reason": "realized volatility proxy 2.05%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "fallback-bitget-market-regime",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime range, market-intel unclear, technical bullish. This is context only and does not count as an independent convergence so..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "fallback-news-no-confirmation",
            "sourceStatus": "fallback",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.12,
            "reason": "Agent Hub news feed unavailable or empty for BTCUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0062%, open interest 31.41K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show bullish momentum (MACD golden cross, 24h/72h positive drift) but only 2 of 3 required signals have converged. The market is in a range regime with neutral derivati..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "a546b0c3cad03630112bec9d814682c17db29d37eb07ee3a7ce80204e4c6fe41"
    },
    {
      "cycleId": "20260613-064519577Z-3778d075da",
      "file": "receipts/cycles/20260613-064519577Z-3778d075da.json",
      "ts": "2026-06-13T06:45:19.577Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.2082,
      "rawDirection": "long",
      "maxAdversePct": 2.0193,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T06:44:29.619Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.53; MACD golden_cross; MA trend mixed; ATR 2.07%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8506,
            "reason": "realized volatility proxy 3.26%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Blockworks acquires Messari in crypto data consolidation push | Bitcoin Must Prepare for Quantum Threat Now, Coinbase Says | Nas..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0031%, open interest 4.35M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show a 4h MACD golden cross and positive short-term momentum, but price is pressing against range resistance at 67.46. Qualitative factors diverge: the macro backdrop i..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3778d075dac88addd498f21e9f1e4e822fac9bb8403e3407ee4a570e7304c9d8"
    },
    {
      "cycleId": "20260613-045508668Z-1daabda44a",
      "file": "receipts/cycles/20260613-045508668Z-1daabda44a.json",
      "ts": "2026-06-13T04:55:08.668Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.1394,
      "counterfactualRawReturnPct": 0.1394,
      "rawDirection": "long",
      "maxAdversePct": 1.2062,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-13T04:54:19.843Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 55.36; MACD golden_cross; MA trend mixed; ATR 1.33%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.9058,
            "reason": "realized volatility proxy 2.05%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 3 matched BTC: Bitcoin surfs SpaceX IPO at $64K as trader warns key BTC price support may crumble | Bitcoin miner 'capitulation' comes as trade..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0058%, open interest 31.45K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is consolidating in a range directly below resistance at 63,770. While technicals show a MACD golden cross and headlines cite IPO tailwinds, macro conditions lean risk-off and miner cap..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "1daabda44a5b7620035ae02cdd168f77a9f1c6074deed9d5be8f131c41ec893a"
    },
    {
      "cycleId": "20260612-220242030Z-f469ebf068",
      "file": "receipts/cycles/20260612-220242030Z-f469ebf068.json",
      "ts": "2026-06-12T22:02:42.030Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-12T22:02:06.881Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bullish",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BULLISH; RSI 54.63; MACD golden_cross; MA trend mixed; ATR 1.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9006,
            "reason": "realized volatility proxy 2.17%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched BTC: Bitcoin surfs SpaceX IPO at $64K as trader warns key BTC price support may crumble | Bitcoin miner 'capitulation' comes as trade..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0052%, open interest 31.38K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold not met (1 bullish, 1 bearish vs 3 required). Price is range-bound between $60.3K support and $63.8K resistance with mixed technicals (MACD cross offset by neut..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f469ebf068c2e53409b32687d9e035c17a8243f525b8c84b8ea9b5fd8ff9430c"
    },
    {
      "cycleId": "20260612-182138603Z-f8eed01c4a",
      "file": "receipts/cycles/20260612-182138603Z-f8eed01c4a.json",
      "ts": "2026-06-12T18:21:38.603Z",
      "symbol": "ETHUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.4,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1296,
      "counterfactualRawReturnPct": -0.0132,
      "rawDirection": "short",
      "maxAdversePct": 1.9824,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-12T18:20:37.831Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.43; MACD death_cross; MA trend mixed; ATR 2.00%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8444,
            "reason": "realized volatility proxy 3.39%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: ETH futures traders lean into $1.6K range lows: Will Ether lead market recovery? | Audiera’s AI token BEAT beats Bitcoin, Ethere..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0012%, open interest 741.06K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.4,
            "reason": "Bearish technical convergence (MACD death cross, fading 24h momentum) aligns with risk-off macro backdrop and cautious ETF outflow news. Range-bound structure and neutral RSI limit convicti..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "f8eed01c4aed7639a73ecff81fa6cef39ac5cdb6741b6590b4047e2709542f94"
    },
    {
      "cycleId": "20260612-154406065Z-b93c7abb60",
      "file": "receipts/cycles/20260612-154406065Z-b93c7abb60.json",
      "ts": "2026-06-12T15:44:06.065Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.1805,
      "rawDirection": "long",
      "maxAdversePct": 3.7956,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-12T15:43:23.014Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 58.45; MACD death_cross; MA trend mixed; ATR 2.35%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8307,
            "reason": "realized volatility proxy 3.69%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: SpaceX stock is coming to Solana on the same day it lists on Nasdaq | Bitcoin Must Prepare for Quantum Threat Now, Coinbase Says..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0002%, open interest 4.21M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Uptrend regime and short-term momentum are offset by conflicting technicals and macro data. 4H charts show a MACD death cross, mixed moving averages, and price stalling at the 67.46 resista..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b93c7abb605625f5d326a233e1c66167e571aebf68021b432f6f31abf5d0ed0d"
    },
    {
      "cycleId": "20260612-115518197Z-b3a41819d7",
      "file": "receipts/cycles/20260612-115518197Z-b3a41819d7.json",
      "ts": "2026-06-12T11:55:18.197Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-12T11:54:40.164Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 57.17; MACD death_cross; MA trend mixed; ATR 1.54%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8983,
            "reason": "realized volatility proxy 2.22%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched BTC: Bitcoin miner 'capitulation' comes as trader sees later 2026 bear-market bottom | Bitcoin tags $63.2K as BTC price action ignore..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0069%, open interest 31.94K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "BTC is trading in a defined range near $63,800 with no directional convergence. Technicals are split: modest short-term momentum is offset by a MACD death cross, mixed moving averages, and ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "b3a41819d7e466fb3cb172d844b2f22a9b39200c8c5dc732d8617860848262e7"
    },
    {
      "cycleId": "20260612-050807562Z-2d8922e780",
      "file": "receipts/cycles/20260612-050807562Z-2d8922e780.json",
      "ts": "2026-06-12T05:08:07.562Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-12T05:07:30.869Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 56.41; MACD death_cross; MA trend mixed; ATR 1.49%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8989,
            "reason": "realized volatility proxy 2.21%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: Bitcoin tags $63.2K as BTC price action ignores inflation, Iran Hormuz closure | Bitcoin miner margins fall to record low: Will ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0030%, open interest 32.03K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical indicators show a neutral stance within a range regime, with price consolidating just below 63,774 resistance and a MACD death cross on the 4H timeframe. Macro conditions lean ris..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "2d8922e780a50042041739a5653b3b305d2f86d8b38ff4040f0b2a206863dd5b"
    },
    {
      "cycleId": "20260611-221908506Z-9f740b7f60",
      "file": "receipts/cycles/20260611-221908506Z-9f740b7f60.json",
      "ts": "2026-06-11T22:19:08.506Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-11T22:18:23.818Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 56.57; MACD death_cross; MA trend mixed; ATR 1.61%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8953,
            "reason": "realized volatility proxy 2.28%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched BTC: Bitcoin tags $63.2K as BTC price action ignores inflation, Iran Hormuz closure | Bitcoin miner margins fall to record low: Will ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0035%, open interest 31.85K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold not met (1 bullish, 1 bearish vs 3 required). BTC remains range-bound near $63.7K resistance with conflicting technicals (MACD death cross, neutral RSI, mixed MAs) and..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "9f740b7f603d505de269f40186be365c1aa7f266c54188d4d731f3e3e96c9374"
    },
    {
      "cycleId": "20260611-191450611Z-703ed6fc32",
      "file": "receipts/cycles/20260611-191450611Z-703ed6fc32.json",
      "ts": "2026-06-11T19:14:50.611Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-11T19:14:14.512Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 55.98; MACD death_cross; MA trend mixed; ATR 1.67%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8939,
            "reason": "realized volatility proxy 2.32%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched BTC: Bitcoin tags $63.2K as BTC price action ignores inflation, Iran Hormuz closure | Bitcoin miner margins fall to record low: Will ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0003%, open interest 32.16K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (1 bullish vs 1 bearish signal against a required 3). Technicals are neutral with a MACD death cross and mixed moving averages inside a defined range. Macro cont..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "703ed6fc320186f5f3bf3489c5e09acfc9253f5a04ec4425719b8ac3783f68dd"
    },
    {
      "cycleId": "20260611-121949492Z-95faffd3ed",
      "file": "receipts/cycles/20260611-121949492Z-95faffd3ed.json",
      "ts": "2026-06-11T12:19:49.492Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0716,
      "counterfactualRawReturnPct": 0.0716,
      "rawDirection": "short",
      "maxAdversePct": 1.3807,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-11T12:19:10.165Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.53; MACD death_cross; MA trend mixed; ATR 2.09%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8737,
            "reason": "realized volatility proxy 2.76%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Tether expands robotics push with lead role in NEURA's $1B-plus funding round | Bitcoin advances, holds above key technical leve..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0028%, open interest 754.21K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market is range-bound with flat momentum and conflicting technicals (neutral RSI at 50.53 vs MACD death cross). Macro backdrop is risk-off (DXY 100.05, VIX 20.71) and news flow shows ETH la..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "95faffd3eddc423ba98a3505e2e2e7f272c9679d5b9875a63b18d28c831dd1a2"
    },
    {
      "cycleId": "20260611-050150180Z-da0737d461",
      "file": "receipts/cycles/20260611-050150180Z-da0737d461.json",
      "ts": "2026-06-11T05:01:50.180Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": 0.0424,
      "counterfactualRawReturnPct": 0.0424,
      "rawDirection": "short",
      "maxAdversePct": 1.4587,
      "stopLossPct": 2,
      "exitReason": "window_close",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-11T05:01:06.784Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 50.76; MACD death_cross; MA trend mixed; ATR 1.73%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8957,
            "reason": "realized volatility proxy 2.28%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched BTC: Bitcoin miner margins fall to record low: Will BTC’s $60K floor hold? | Bitcoin rises despite US inflation hitting 3-year high: ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0051%, open interest 31.74K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold unmet (1 bullish vs 2 bearish against required 3). Technicals show a MACD death cross and mixed moving averages within a ranging regime. Macro and news highligh..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "da0737d461654c8615f7e6c6d5f954dfb5903ba4f76164d9e07d1d88b9c23623"
    },
    {
      "cycleId": "20260610-222217096Z-231f08636f",
      "file": "receipts/cycles/20260610-222217096Z-231f08636f.json",
      "ts": "2026-06-10T22:22:17.096Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.75,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": 0.6981,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 0.9942,
      "stopLossPct": 1.8,
      "exitReason": "window_close",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-10T22:21:31.827Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 40.33; MACD death_cross; MA trend bear; ATR 2.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8677,
            "reason": "realized volatility proxy 2.89%, regime downtrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Tether expands robotics push with lead role in NEURA's $1B-plus funding round | ETH crash to $1K looms if key support breaks: Wi..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0005%, open interest 686.33K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.75,
            "reason": "Technical and macro signals converge bearish. Price is in a confirmed downtrend, trading below all key moving averages with a MACD death cross and weakening RSI (40.33). Macro conditions ar..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "231f08636ff0c713dedb655fd0b6de0e7262ee5ca2d7ec399e3093ff384604af"
    },
    {
      "cycleId": "20260610-184443368Z-7b53f02fb6",
      "file": "receipts/cycles/20260610-184443368Z-7b53f02fb6.json",
      "ts": "2026-06-10T18:44:43.368Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.0045,
      "rawDirection": "short",
      "maxAdversePct": 5.8345,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-10T18:44:05.597Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 0,
          "standDown": 2,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 43.11; MACD death_cross; MA trend bear; ATR 2.47%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.868,
            "reason": "realized volatility proxy 2.88%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: ETH crash to $1K looms if key support breaks: Will futures traders step in? | SBI Shinsei links bank deposits to crypto rewards ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0020%, open interest 714K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Convergence threshold unmet (2 bearish signals vs 3 required). Price remains trapped in a range regime with balanced derivatives funding and mixed momentum. While technicals and macro lean ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7b53f02fb65cc407749e91d183e8f3e646cd4bba4ad48f470d4335a21a308528"
    },
    {
      "cycleId": "20260610-161152686Z-7288f684d1",
      "file": "receipts/cycles/20260610-161152686Z-7288f684d1.json",
      "ts": "2026-06-10T16:11:52.686Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.0539,
      "rawDirection": "short",
      "maxAdversePct": 5.6975,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-10T16:11:12.340Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 47.62; MACD death_cross; MA trend mixed; ATR 2.31%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8721,
            "reason": "realized volatility proxy 2.79%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: ETH crash to $1K looms if key support breaks: Will futures traders step in? | SBI Shinsei links bank deposits to crypto rewards ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0067%, open interest 711.22K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence falls below the required threshold of 3 (0 bullish, 2 bearish). Price is range-bound with mixed technicals, neutral funding, and balanced open interest. Macro risk-off he..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "7288f684d1349d49fa3ebfeb26e9eb92140025c20133ec0611e5c5d0ac169773"
    },
    {
      "cycleId": "20260610-124304592Z-ac2185b8ac",
      "file": "receipts/cycles/20260610-124304592Z-ac2185b8ac.json",
      "ts": "2026-06-10T12:43:04.592Z",
      "symbol": "BTCUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2106,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 3.9115,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-10T12:42:20.990Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.30; MACD death_cross; MA trend mixed; ATR 1.77%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.9029,
            "reason": "realized volatility proxy 2.12%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: Bitcoin price slips toward $62K local lows as bear-market history keeps repeating | Bitcoin bottom? These 4 charts hint at BTC p..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0033%, open interest 31.63K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.65,
            "reason": "Technical indicators converge on downside with a MACD death cross, RSI below 50, and negative short-term momentum. Macro risk-off conditions persist with VIX elevated near 21.6 and recent F..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "ac2185b8acd69b84c4a7269fc0df7e47de4c2ee51ef087356a3933ad888835df"
    },
    {
      "cycleId": "20260610-122954056Z-da9ae58aa1",
      "file": "receipts/cycles/20260610-122954056Z-da9ae58aa1.json",
      "ts": "2026-06-10T12:29:54.056Z",
      "symbol": "BTCUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.6,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1944,
      "counterfactualRawReturnPct": 0.1339,
      "rawDirection": "short",
      "maxAdversePct": 3.9115,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-10T12:28:50.874Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 1,
          "standDown": 1,
          "watch": 4
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict STRONG BEARISH; RSI 39.55; MACD death_cross; MA trend bear; ATR 1.71%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.911,
            "reason": "realized volatility proxy 1.94%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched BTC: Bitcoin price slips toward $62K local lows as bear-market history keeps repeating | Bitcoin bottom? These 4 charts hint at BTC p..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0035%, open interest 31.99K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6,
            "reason": "Technical and qualitative signals converge bearish: 4H MACD death cross, price below 7/25/99 MAs, RSI at 39.55, and negative 24h/72h momentum align with risk-off macro conditions (VIX 21.7,..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "da9ae58aa18e4843df01893462ac7966b538c0123f344c5dbae2ab91ed2421fa"
    },
    {
      "cycleId": "20260610-102318508Z-1cd842fefb",
      "file": "receipts/cycles/20260610-102318508Z-1cd842fefb.json",
      "ts": "2026-06-10T10:23:18.508Z",
      "symbol": "ETHUSDT",
      "decision": "APPROVE",
      "action": "TRADE",
      "conviction": 0.65,
      "status": "APPROVED_TRADE",
      "resolution": "RESOLVED",
      "resolvedReturnPct": -0.2106,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "short",
      "maxAdversePct": 6.3509,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-10T10:22:40.062Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 40.06; MACD death_cross; MA trend mixed; ATR 2.44%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8753,
            "reason": "realized volatility proxy 2.72%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: ETH crash to $1K looms if key support breaks: Will futures traders step in? | SBI Shinsei links bank deposits to crypto rewards ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0019%, open interest 724.18K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.65,
            "reason": "Bearish technicals converge with a risk-off macro backdrop. ETH shows a confirmed MACD death cross, negative short-term momentum, and price trading below key moving averages. Elevated VIX a..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "APPROVE",
          "approved": true,
          "reason": "All deterministic risk checks passed.",
          "failedChecks": []
        }
      },
      "checksum": "1cd842fefb8fdd89db383f25b60a4a76e4ce3d2572b7e7c9e019b6da8d1585fa"
    },
    {
      "cycleId": "20260610-044701355Z-fab238a31f",
      "file": "receipts/cycles/20260610-044701355Z-fab238a31f.json",
      "ts": "2026-06-10T04:47:01.355Z",
      "symbol": "SOLUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.4,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1296,
      "counterfactualRawReturnPct": 0.0688,
      "rawDirection": "short",
      "maxAdversePct": 8.4276,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-10T04:46:07.047Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.6333,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 39.98; MACD death_cross; MA trend mixed; ATR 2.68%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8463,
            "reason": "realized volatility proxy 3.35%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched SOL: Solana Institute CEO says CLARITY Act must shield open-source developers | December Trial Date Set for US Soldier Accused of Ins..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0058%, open interest 4.4M contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.4,
            "reason": "Bearish technical convergence from 4H MACD death cross, sub-40 RSI, and negative 24h momentum aligns with macro risk-off conditions and slightly negative derivatives funding. Range-bound re..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "fab238a31f06494883985ed28b15346a66d3a166f0a0651f32aac40e66801a39"
    },
    {
      "cycleId": "20260609-202117742Z-3b9496aad5",
      "file": "receipts/cycles/20260609-202117742Z-3b9496aad5.json",
      "ts": "2026-06-09T20:21:17.742Z",
      "symbol": "BTCUSDT",
      "decision": "VETO",
      "action": "TRADE",
      "conviction": 0.55,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.1782,
      "counterfactualRawReturnPct": -0.2478,
      "rawDirection": "short",
      "maxAdversePct": 6.2354,
      "stopLossPct": 1.8,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-09T20:20:37.685Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 1,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 44.14; MACD death_cross; MA trend mixed; ATR 1.84%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8874,
            "reason": "realized volatility proxy 2.46%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched BTC: Bitcoin price slips toward $62K local lows as bear-market history keeps repeating | Bitcoin bottom? These four charts hint at BT..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0012%, open interest 31.86K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "TRADE",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 0.55,
            "reason": "Technical setup shows deteriorating momentum with a 4h MACD death cross, RSI below 50, and negative 24h price action. This converges with risk-off macro conditions and bearish news narrativ..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "VETO",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "3b9496aad535b60fece171c2a8a79866232825300a60330f2f024267cf6d6942"
    },
    {
      "cycleId": "20260609-152656028Z-bbed0414dc",
      "file": "receipts/cycles/20260609-152656028Z-bbed0414dc.json",
      "ts": "2026-06-09T15:26:56.028Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.2383,
      "rawDirection": "short",
      "maxAdversePct": 10.924,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-09T15:26:17.566Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 42.70; MACD death_cross; MA trend mixed; ATR 2.60%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8449,
            "reason": "realized volatility proxy 3.38%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: SBI Shinsei links bank deposits to crypto rewards in Japan: Nikkei | Bitmine boosts Ethereum treasury to 5.54M ETH, nearing 5% s..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0029%, open interest 730.23K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Technical signals are mixed to bearish on the 4H timeframe (MACD death cross, neutral RSI, -2.18% 24h momentum) conflicting with the broader uptrend regime. Positive ETH catalysts (institut..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "bbed0414dcbe5e8418fccf799ead4c039fea6d48b7df8aec949728fef8c0335b"
    },
    {
      "cycleId": "20260609-100301577Z-6708e69f5c",
      "file": "receipts/cycles/20260609-100301577Z-6708e69f5c.json",
      "ts": "2026-06-09T10:03:01.577Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": -0.1131,
      "rawDirection": "short",
      "maxAdversePct": 5.3926,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-09T10:02:08.794Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 46.59; MACD death_cross; MA trend mixed; ATR 1.82%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "unclear",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.8829,
            "reason": "realized volatility proxy 2.55%, regime range"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 6 matched BTC: 'Best thesis' for Bitcoin accumulation surfaces despite current downside risk: Analyst | Bitcoin price eyes $90K as FTX-era BTC ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding 0.0046%, open interest 31.63K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Market remains range-bound with balanced derivatives positioning and mixed macro/news catalysts. While technicals lean bearish (MACD death cross, price below MA7, negative momentum), qualit..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "6708e69f5c5d62652ed6acfc47013c03aa5ce28d69a6dee4e9b99a68e1904451"
    },
    {
      "cycleId": "20260609-052812213Z-11ca64c89d",
      "file": "receipts/cycles/20260609-052812213Z-11ca64c89d.json",
      "ts": "2026-06-09T05:28:12.213Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-09T05:27:34.533Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 51.67; MACD death_cross; MA trend mixed; ATR 2.62%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8405,
            "reason": "realized volatility proxy 3.48%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 4 matched ETH: Bitmine boosts Ethereum treasury to 5.54M ETH, nearing 5% supply target | ETH falls to 13-month low on Zcash bug, Bitcoin below ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0037%, open interest 717.32K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold is unmet (2 bullish vs 2 bearish, requires 3). Technicals conflict: short-term momentum is positive but structure shows a MACD death cross and mixed moving aver..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "11ca64c89d3a2542b53eac8d0ac489bf26fd5f0c38f3957545a5b86356bccde6"
    },
    {
      "cycleId": "20260609-042304679Z-4c2fe8f209",
      "file": "receipts/cycles/20260609-042304679Z-4c2fe8f209.json",
      "ts": "2026-06-09T04:23:04.679Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-09T04:22:28.615Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "WATCH",
        "voteCounts": {
          "trade": 2,
          "standDown": 2,
          "watch": 2
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "bearish",
            "vote": "TRADE",
            "direction": "short",
            "confidence": 1,
            "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 47.44; MACD death_cross; MA trend mixed; ATR 2.55%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8428,
            "reason": "realized volatility proxy 3.43%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 5 matched ETH: Bitmine boosts Ethereum treasury to 5.54M ETH, nearing 5% supply target | ETH falls to 13-month low on Zcash bug, Bitcoin below ..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0045%, open interest 708.59K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence threshold unmet (2 bullish vs 2 bearish). Market intel notes an uptrend regime, but agent-level technicals show a MACD death cross, mixed moving averages, and a BEARISH v..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "4c2fe8f209dfcee1aa5e0f5b2558cca6452b7337b622f1a01a3dd6135ab73d5d"
    },
    {
      "cycleId": "20260608-205200741Z-621ab54813",
      "file": "receipts/cycles/20260608-205200741Z-621ab54813.json",
      "ts": "2026-06-08T20:52:00.741Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": -0.08,
      "counterfactualRawReturnPct": 0.223,
      "rawDirection": "long",
      "maxAdversePct": 5.7935,
      "stopLossPct": 2,
      "exitReason": "stop_band_crossed",
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-08T20:51:19.794Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 51.13; MACD death_cross; MA trend mixed; ATR 2.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8489,
            "reason": "realized volatility proxy 3.30%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 7 matched ETH: ETH falls to 13-month low on Zcash bug, Bitcoin below $60K: Is $1.4K next? | Bitmine bought the dip, making its biggest ether pu..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0138%, open interest 728.15K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Signal convergence fails to meet the required threshold of 3 (2 bullish vs 1 bearish). While short-term momentum shows mild upside, 4h technicals are neutral with a MACD death cross and mix..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "621ab5481328981d13c49f427a94248cc4bd2535f460f17761743e8b5e558c74"
    },
    {
      "cycleId": "20260608-204444134Z-ebd94cc499",
      "file": "receipts/cycles/20260608-204444134Z-ebd94cc499.json",
      "ts": "2026-06-08T20:44:44.134Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "VETOED",
      "resolution": "PENDING",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "long",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [
        "conviction_floor"
      ],
      "council": {
        "version": "catalyst.agent-council.v1",
        "generatedAt": "2026-06-08T20:44:04.883Z",
        "requiredLiveMembers": 3,
        "liveMembers": 6,
        "consensus": "STAND_DOWN",
        "voteCounts": {
          "trade": 1,
          "standDown": 2,
          "watch": 3
        },
        "members": [
          {
            "id": "chart-scout",
            "name": "Chart Scout",
            "role": "Reads Bitget candles and Agent Hub technicals",
            "source": "agent-hub-technical-analysis",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Agent Hub technical-analysis verdict NEUTRAL; RSI 51.03; MACD death_cross; MA trend mixed; ATR 2.59%"
          },
          {
            "id": "flow-scout",
            "name": "Flow Scout",
            "role": "Checks market structure and volatility",
            "source": "bitget-market-candles",
            "sourceStatus": "live",
            "signal": "trend_confirmed",
            "vote": "TRADE",
            "direction": "long",
            "confidence": 0.8488,
            "reason": "realized volatility proxy 3.30%, regime uptrend"
          },
          {
            "id": "macro-scout",
            "name": "Macro Scout",
            "role": "Looks for broad risk-on or risk-off context",
            "source": "agent-hub-macro",
            "sourceStatus": "live",
            "signal": "risk_off",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0.6333,
            "reason": "Agent Hub macro context received: macro_indicators count: 3; macro_indicators title: Minutes of the Board&#39;s discount rate meeting on April 2…; macro_indicators link: https://www.federal..."
          },
          {
            "id": "narrative-scout",
            "name": "Narrative Scout",
            "role": "Checks whether news confirms the setup",
            "source": "agent-hub-news",
            "sourceStatus": "live",
            "signal": "catalyst_watch",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 1,
            "reason": "Agent Hub news returned 8 market headline(s); 7 matched ETH: ETH falls to 13-month low on Zcash bug, Bitcoin below $60K: Is $1.4K next? | Bitmine bought the dip, making its biggest ether pu..."
          },
          {
            "id": "positioning-scout",
            "name": "Positioning Scout",
            "role": "Reads funding and derivatives positioning",
            "source": "bitget-derivatives-market",
            "sourceStatus": "live",
            "signal": "neutral",
            "vote": "WATCH",
            "direction": "flat",
            "confidence": 0.45,
            "reason": "Funding -0.0132%, open interest 720.52K contracts; Bitget derivatives positioning is balanced"
          },
          {
            "id": "qwen-strategist",
            "name": "Qwen Strategist",
            "role": "Synthesizes the thesis in plain language",
            "source": "bitget-qwen",
            "sourceStatus": "live",
            "signal": "NO_TRADE",
            "vote": "STAND_DOWN",
            "direction": "flat",
            "confidence": 0,
            "reason": "Short-term bullish momentum conflicts with risk-off macro conditions, neutral derivatives positioning, and conflicting technicals (MACD death cross, RSI 51). The required convergence thresh..."
          }
        ],
        "governor": {
          "name": "Risk Governor",
          "decision": "STAND_DOWN",
          "approved": false,
          "reason": "Low conviction defaults to NO_TRADE.",
          "failedChecks": [
            "conviction_floor"
          ]
        }
      },
      "checksum": "ebd94cc4990228ffda70b30cb94647a115d8d72073bd9b00feb7c6c8fc37aa5e"
    },
    {
      "cycleId": "20260608-204016956Z-661d010d00",
      "file": "receipts/cycles/20260608-204016956Z-661d010d00.json",
      "ts": "2026-06-08T20:40:16.956Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "661d010d00ccb229f7fce2370e32149fb288b8e968bf34b0641c4e95e3da8a8f"
    },
    {
      "cycleId": "20260608-203303776Z-f640170f85",
      "file": "receipts/cycles/20260608-203303776Z-f640170f85.json",
      "ts": "2026-06-08T20:33:03.776Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "f640170f853070e5d23df077863edb701c8872e5ba5de41a1ae02732216e5ffa"
    },
    {
      "cycleId": "20260608-190413226Z-a65b7f6d9a",
      "file": "receipts/cycles/20260608-190413226Z-a65b7f6d9a.json",
      "ts": "2026-06-08T19:04:13.226Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "a65b7f6d9acb63e8fb6f25f41befe91af9a9b8b925c15330bcdfdc202a35c54f"
    },
    {
      "cycleId": "20260608-184558084Z-765437e9bd",
      "file": "receipts/cycles/20260608-184558084Z-765437e9bd.json",
      "ts": "2026-06-08T18:45:58.084Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "765437e9bdded16d217eaf43c8c6d01ea3dddb026fe9e8fe6d03e200f8851c3b"
    },
    {
      "cycleId": "20260608-161904108Z-13d791b106",
      "file": "receipts/cycles/20260608-161904108Z-13d791b106.json",
      "ts": "2026-06-08T16:19:04.108Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "13d791b1068fca65ced42e3b90e3d8557facc25d1b42010b5d3a9b7417096674"
    },
    {
      "cycleId": "20260608-112050556Z-17c8e5d9c1",
      "file": "receipts/cycles/20260608-112050556Z-17c8e5d9c1.json",
      "ts": "2026-06-08T11:20:50.556Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "17c8e5d9c1e67c5704b612408799d86627ca2830137e8fc3d236505a8330724f"
    },
    {
      "cycleId": "20260608-091647435Z-4b72c06ebf",
      "file": "receipts/cycles/20260608-091647435Z-4b72c06ebf.json",
      "ts": "2026-06-08T09:16:47.435Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "4b72c06ebf1bd63112303a88ab38c4e999f98c1586fd24d2482d0176b818e00d"
    },
    {
      "cycleId": "20260608-090318055Z-da0644c148",
      "file": "receipts/cycles/20260608-090318055Z-da0644c148.json",
      "ts": "2026-06-08T09:03:18.055Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "da0644c14856e973f128bacf159dc1ce1f94ed91510ece45701fe0a63676a798"
    },
    {
      "cycleId": "20260608-082327968Z-20b004ab13",
      "file": "receipts/cycles/20260608-082327968Z-20b004ab13.json",
      "ts": "2026-06-08T08:23:27.968Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "20b004ab13f3901f36eb9215e9ab9dbfc6a1683e23f2b665d98f16d1d7d29b55"
    },
    {
      "cycleId": "20260608-065514144Z-d01d09dcbc",
      "file": "receipts/cycles/20260608-065514144Z-d01d09dcbc.json",
      "ts": "2026-06-08T06:55:14.144Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "d01d09dcbcb2521d34afdda65c09da7e3110334034b4dadb79770b87933cefe4"
    },
    {
      "cycleId": "20260608-054943728Z-a81aad0a46",
      "file": "receipts/cycles/20260608-054943728Z-a81aad0a46.json",
      "ts": "2026-06-08T05:49:43.728Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "a81aad0a4628551418904950a414e6abe94a4170c25d8f3f69cf19efab0c6a63"
    },
    {
      "cycleId": "20260608-052622425Z-6e98535867",
      "file": "receipts/cycles/20260608-052622425Z-6e98535867.json",
      "ts": "2026-06-08T05:26:22.425Z",
      "symbol": "SOLUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "6e98535867289e3fbaa347172a075675ec4c968e08b762760de8d3a087c80e97"
    },
    {
      "cycleId": "20260608-050044842Z-bce98fec24",
      "file": "receipts/cycles/20260608-050044842Z-bce98fec24.json",
      "ts": "2026-06-08T05:00:44.842Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "bce98fec2429e4857455baefbcc4136efefbe6cf8fc9f0a58acaec25071748d2"
    },
    {
      "cycleId": "20260607-194621272Z-bc2389fae8",
      "file": "receipts/cycles/20260607-194621272Z-bc2389fae8.json",
      "ts": "2026-06-07T19:46:21.272Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "bc2389fae866d42597eed5a56a81ede2e79000e9790058c77a13913b308841ad"
    },
    {
      "cycleId": "20260607-165828046Z-3ff58ece3b",
      "file": "receipts/cycles/20260607-165828046Z-3ff58ece3b.json",
      "ts": "2026-06-07T16:58:28.046Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "3ff58ece3bd54dd8e086bb55a7f2127e5c38f5f0d25533614bbed0c0a0c58ed6"
    },
    {
      "cycleId": "20260607-164401321Z-8ae3fd10c0",
      "file": "receipts/cycles/20260607-164401321Z-8ae3fd10c0.json",
      "ts": "2026-06-07T16:44:01.321Z",
      "symbol": "ETHUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "8ae3fd10c01a613b5d3e431548b582007bdc154e9e18235e9fe389dff0d714de"
    },
    {
      "cycleId": "20260607-160926524Z-03cc8dae40",
      "file": "receipts/cycles/20260607-160926524Z-03cc8dae40.json",
      "ts": "2026-06-07T16:09:26.524Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "03cc8dae400074dece9806f84e52cdec93766631484e8db7d25df3858af746a5"
    },
    {
      "cycleId": "20260607-160647133Z-83ea6df57f",
      "file": "receipts/cycles/20260607-160647133Z-83ea6df57f.json",
      "ts": "2026-06-07T16:06:47.133Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "83ea6df57fe0b6be107f0c3aafff4b89fee43ee4e6aeefdc67c30f84477d0529"
    },
    {
      "cycleId": "20260607-154848946Z-5bebdaeaba",
      "file": "receipts/cycles/20260607-154848946Z-5bebdaeaba.json",
      "ts": "2026-06-07T15:48:48.946Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "5bebdaeabab2ea20657eb0a5a4628973408485a2fdab9a288b534cf81e4c4d5a"
    },
    {
      "cycleId": "20260607-152806253Z-e51473c209",
      "file": "receipts/cycles/20260607-152806253Z-e51473c209.json",
      "ts": "2026-06-07T15:28:06.253Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "e51473c2098df4c2cb78a68b508bf583a0935adeccaecb8f0842cd6e2ee4d10d"
    },
    {
      "cycleId": "20260607-145116305Z-8b6b27c4c2",
      "file": "receipts/cycles/20260607-145116305Z-8b6b27c4c2.json",
      "ts": "2026-06-07T14:51:16.305Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "8b6b27c4c2fe8005beba38c6e1f1acf6926461c47c5f180d30f55abbe8d4c1a1"
    },
    {
      "cycleId": "20260607-142840329Z-e368cdd1e3",
      "file": "receipts/cycles/20260607-142840329Z-e368cdd1e3.json",
      "ts": "2026-06-07T14:28:40.329Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "e368cdd1e355b551315aa2687b26d1461bb61e760aeff83ddb1c5a4a86d48dc3"
    },
    {
      "cycleId": "20260607-142213205Z-65e1156cb7",
      "file": "receipts/cycles/20260607-142213205Z-65e1156cb7.json",
      "ts": "2026-06-07T14:22:13.205Z",
      "symbol": "BTCUSDT",
      "decision": "STAND_DOWN",
      "action": "NO_TRADE",
      "conviction": 0,
      "status": "STAND_DOWN",
      "resolution": "RESOLVED",
      "resolvedReturnPct": null,
      "counterfactualReturnPct": null,
      "counterfactualRawReturnPct": null,
      "rawDirection": "flat",
      "maxAdversePct": null,
      "stopLossPct": null,
      "exitReason": null,
      "failedRiskChecks": [],
      "council": null,
      "checksum": "65e1156cb7bc15e7a03d631581aa15e053094af8c6b7c32d200bc1428b3fd466"
    }
  ]
}
