{
  "disclaimer": "Paper/theoretical tracking only. Not financial advice. Not a live trading approval. Not a promise of profits or future returns.",
  "generated_at": "2026-07-25T07:22:50Z",
  "market_snapshot": {
    "as_of_utc": "2026-07-24T23:59:58Z",
    "source": "finance_quote_snapshot",
    "symbols": {
      "QQQ": {
        "high": 694.42,
        "low": 682.54,
        "open": 690.37,
        "price": 684.23
      },
      "SPY": {
        "high": 743.69,
        "low": 737.35,
        "open": 738.47,
        "price": 738.93
      },
      "TSLA": {
        "high": 324.89,
        "low": 306.57,
        "open": 320.71,
        "price": 313.03
      }
    }
  },
  "mode": "paper_theoretical_only",
  "robot_army_build_queue": [
    {
      "id": "rsi_vwap_snapback_bot",
      "name": "RSI + VWAP Snapback Bot",
      "proof_needed": "At least 20 paper signals with max adverse/favorable move tracking.",
      "status": "next_build_candidate"
    },
    {
      "id": "gap_fade_risk_box_bot",
      "name": "Gap Fade Risk Box Bot",
      "proof_needed": "Opening gap sample set with stop/target box outcomes.",
      "status": "next_build_candidate"
    },
    {
      "id": "news_momentum_filter_bot",
      "name": "News Momentum Filter Bot",
      "proof_needed": "Event tagging and false-positive filter report.",
      "status": "research_candidate"
    }
  ],
  "robots": [
    {
      "current_theoretical_equity": 1006.46,
      "id": "tsla_vwap_reclaim_bot",
      "name": "TSLA VWAP Reclaim Bot",
      "open_exposure": 313.03,
      "open_theoretical_pnl": 6.46,
      "purpose": "Tracks TSLA reclaiming VWAP/decision shelves after a flush.",
      "realized_pnl": 0.0,
      "return_pct": 0.65,
      "risk_avoided_credit": 0,
      "starting_equity": 1000.0,
      "status": "paper_testing",
      "total_theoretical_pnl": 6.46,
      "trades": [
        {
          "entry_price": 306.57,
          "id": "paper-tsla-vwap-20260724-001",
          "mark_price": 313.03,
          "mark_price_source": "market_snapshot.symbols.TSLA.price",
          "notional": 313.03,
          "quantity": 1.0,
          "side": "LONG",
          "status": "open",
          "symbol": "TSLA",
          "theoretical_pnl": 6.46,
          "thesis": "Paper reclaim from intraday low toward VWAP/mean reversion zone."
        }
      ]
    },
    {
      "current_theoretical_equity": 1000.0,
      "id": "macd_curl_setup_bot",
      "name": "MACD Curl Setup Bot",
      "no_trade_reason": "Latest TSLA momentum curl stats reported signal_count=0.",
      "open_exposure": 0.0,
      "open_theoretical_pnl": 0.0,
      "purpose": "Waits for MACD curl confirmation near support or reclaim zones.",
      "realized_pnl": 0.0,
      "return_pct": 0.0,
      "risk_avoided_credit": 0,
      "starting_equity": 1000.0,
      "status": "paper_testing_flat",
      "total_theoretical_pnl": 0.0,
      "trades": []
    },
    {
      "current_theoretical_equity": 1000.61,
      "id": "opening_range_breakout_bot",
      "name": "Opening Range Breakout Bot",
      "open_exposure": 68.42,
      "open_theoretical_pnl": 0.61,
      "purpose": "Tracks opening range break/fail behavior with false-break protection.",
      "realized_pnl": 0.0,
      "return_pct": 0.06,
      "risk_avoided_credit": 0,
      "starting_equity": 1000.0,
      "status": "build_candidate_paper_probe",
      "total_theoretical_pnl": 0.61,
      "trades": [
        {
          "entry_price": 690.37,
          "id": "paper-qqq-orb-20260724-001",
          "mark_price": 684.23,
          "mark_price_source": "market_snapshot.symbols.QQQ.price",
          "notional": 68.42,
          "quantity": 0.1,
          "side": "SHORT",
          "status": "open",
          "symbol": "QQQ",
          "theoretical_pnl": 0.61,
          "thesis": "Paper failed-open/risk-off probe, fractional size for build-candidate tracking."
        }
      ]
    },
    {
      "current_theoretical_equity": 1000.0,
      "id": "risk_gate_bot",
      "name": "Risk Gate Bot",
      "open_exposure": 0.0,
      "open_theoretical_pnl": 0.0,
      "purpose": "Blocks trades outside risk boundaries; tracks avoided-risk credits separately from P/L.",
      "realized_pnl": 0.0,
      "return_pct": 0.0,
      "risk_avoided_credit": 30.0,
      "risk_events": [
        {
          "blocked_action": "oversized_option_sim",
          "estimated_risk_avoided": 30.0,
          "id": "risk-avoidance-20260724-001",
          "reason": "Paper logger max_risk_dollars cap would block excess sizing.",
          "symbol": "TSLA"
        }
      ],
      "starting_equity": 1000.0,
      "status": "core_protection",
      "total_theoretical_pnl": 0.0,
      "trades": []
    },
    {
      "current_theoretical_equity": 1000.0,
      "id": "paper_trade_logger_bot",
      "name": "Paper Trade Logger Bot",
      "open_exposure": 0.0,
      "open_theoretical_pnl": 0.0,
      "purpose": "Owns paper-trade ledger integrity and total portfolio rollups.",
      "realized_pnl": 0.0,
      "return_pct": 0.0,
      "risk_avoided_credit": 0,
      "starting_equity": 1000.0,
      "status": "core_accounting",
      "total_theoretical_pnl": 0.0,
      "trades": []
    }
  ],
  "schema": "dreamvault.trading_robot_army.paper_portfolio.v1",
  "summary": {
    "active_paper_bots": 2,
    "current_theoretical_equity": 5007.07,
    "live_execution_approved": false,
    "open_theoretical_pnl": 7.07,
    "realized_pnl": 0.0,
    "risk_avoided_credit": 30.0,
    "robot_count": 5,
    "starting_equity": 5000.0,
    "total_return_pct": 0.14,
    "total_theoretical_pnl": 7.07
  }
}
