{
  "status": "ok",
  "state": {
    "schema": "moshpit.bot_effort.v1",
    "title": "Crew effort × tokens × output × offline × tier",
    "purpose": "Setup recommendations + optimization — who to wake, who is expensive, who is offline. Tier + token budget feed Net bot (MODEL_TIER_ROUTING).",
    "updated_utc": "2026-09-21T06:02:00Z",
    "how": "Each bot POST /api/bot-effort (or edit this JSON) every ~30m while active. Tokens stay null until reported — do not invent counts. Report tokens_left_est before big tasks.",
    "doc": "coordination/BOT_EFFORT_TRACK.md",
    "routing_doc": "coordination/MODEL_TIER_ROUTING.md",
    "bots": [
      {
        "id": "cursor",
        "agent": "Cursor",
        "model": "Composer / Cloud Agent",
        "surface": "Cloud",
        "effort": "high",
        "effort_scale": 4,
        "effort_notes": "Overnight monitor + PUBLIC_ORIGIN / beta / estimates / tier routing",
        "tier": "mid",
        "tier_escalate": "high",
        "tokens": {
          "in": null,
          "out": null,
          "estimated": null,
          "source": null,
          "last_updated": "2026-09-21T05:22:17Z"
        },
        "token_budget": {
          "tokens_left_est": null,
          "big_task_hours": null,
          "split_if_below_N": 50000
        },
        "output": {
          "summary": "MODEL_TIER_ROUTING + /estimates + PUBLIC_TEST_VOTE; forever URL LIVE",
          "commit_window": "recent overnight commits on cursor/vr-director-balcony-addd",
          "artifacts": [
            "/estimates",
            "/beta",
            "/api/public-origin",
            "coordination/MODEL_TIER_ROUTING.md"
          ]
        },
        "offline": {
          "offline": false,
          "reason": null,
          "until_utc": null
        },
        "recommendation": "Cursor=tunnel+integration+smoke; Net bot default for mid integration",
        "updated_utc": "2026-09-21T06:02:00Z"
      },
      {
        "id": "codex",
        "agent": "Codex / Astra",
        "model": "GPT (Codex app)",
        "surface": "CLI / Codex app",
        "effort": "medium",
        "effort_scale": 3,
        "effort_notes": "Integration + music; TOKEN SLEEP until wake",
        "tier": "mid",
        "tier_escalate": "high",
        "tokens": {
          "in": null,
          "out": null,
          "estimated": null,
          "source": null,
          "last_updated": null
        },
        "token_budget": {
          "tokens_left_est": null,
          "big_task_hours": null,
          "split_if_below_N": 50000
        },
        "output": {
          "summary": "Spectator full-run / music arc handoffs already shipped (?v=96–97)",
          "commit_window": null,
          "artifacts": [
            "MusicDirector lane",
            "integration queue"
          ]
        },
        "offline": {
          "offline": true,
          "reason": "quota",
          "until_utc": null
        },
        "recommendation": "Codex=music+itch page proposal; wake for OVERNIGHT-MUSIC — not combat",
        "updated_utc": "2026-09-21T06:02:00Z"
      },
      {
        "id": "chatgpt",
        "agent": "ChatGPT",
        "model": "ChatGPT (if distinct from Codex app)",
        "surface": "ChatGPT",
        "effort": "low",
        "effort_scale": 2,
        "effort_notes": "Often shares Codex chores; report separately only when distinct session",
        "tier": "light",
        "tier_escalate": "mid",
        "tokens": {
          "in": null,
          "out": null,
          "estimated": null,
          "source": null,
          "last_updated": null
        },
        "token_budget": {
          "tokens_left_est": null,
          "big_task_hours": null,
          "split_if_below_N": 50000
        },
        "output": {
          "summary": null,
          "commit_window": null,
          "artifacts": []
        },
        "offline": {
          "offline": true,
          "reason": "quota",
          "until_utc": null
        },
        "recommendation": "ChatGPT=fold into Codex chores unless separate session; no duplicate writes",
        "updated_utc": "2026-09-21T06:02:00Z"
      },
      {
        "id": "gemini",
        "agent": "Gemini",
        "model": "Gemini (Antigravity)",
        "surface": "Antigravity",
        "effort": "high",
        "effort_scale": 4,
        "effort_notes": "Export + HUD / spectator AI owner when GDScript needed",
        "tier": "mid",
        "tier_escalate": "high",
        "tokens": {
          "in": null,
          "out": null,
          "estimated": null,
          "source": null,
          "last_updated": null
        },
        "token_budget": {
          "tokens_left_est": null,
          "big_task_hours": null,
          "split_if_below_N": 50000
        },
        "output": {
          "summary": "?v=97 spectator AI + export owner; HUD wrap ?v=95",
          "commit_window": null,
          "artifacts": [
            "tools/export_web.py",
            "VoxelDemo pack shelf"
          ]
        },
        "offline": {
          "offline": false,
          "reason": null,
          "until_utc": null
        },
        "recommendation": "Gemini=export; own pack when GDScript changes; assist smoke if rebuild",
        "updated_utc": "2026-09-21T06:02:00Z"
      },
      {
        "id": "claude",
        "agent": "Claude",
        "model": "Claude",
        "surface": "Desktop / CLI / Chrome",
        "effort": "low",
        "effort_scale": 2,
        "effort_notes": "STATUS supervisor + Claude-in-Chrome for CF; docs bucket proposal",
        "tier": "light",
        "tier_escalate": "mid",
        "tokens": {
          "in": null,
          "out": null,
          "estimated": null,
          "source": null,
          "last_updated": null
        },
        "token_budget": {
          "tokens_left_est": null,
          "big_task_hours": null,
          "split_if_below_N": 50000
        },
        "output": {
          "summary": "STATUS supervision; CF Chrome champ; no production git spam",
          "commit_window": null,
          "artifacts": [
            "coordination/STATUS.md"
          ]
        },
        "offline": {
          "offline": false,
          "reason": null,
          "until_utc": null
        },
        "recommendation": "Claude=STATUS+docs+Chrome forever-URL assist; light tier default",
        "updated_utc": "2026-09-21T06:02:00Z"
      },
      {
        "id": "grok",
        "agent": "a line of GROK",
        "model": "Grok / xAI",
        "surface": "CLI / Grok Bot",
        "effort": "medium",
        "effort_scale": 3,
        "effort_notes": "Combat lane — feel cert owner proposal",
        "tier": "mid",
        "tier_escalate": "high",
        "tokens": {
          "in": null,
          "out": null,
          "estimated": null,
          "source": null,
          "last_updated": null
        },
        "token_budget": {
          "tokens_left_est": null,
          "big_task_hours": null,
          "split_if_below_N": 50000
        },
        "output": {
          "summary": "v92 anti-stuck playtests; combat feel owner",
          "commit_window": null,
          "artifacts": [
            "Main.Combat.cs",
            "Main.PuppetParts.cs",
            "Main.Effects.cs"
          ]
        },
        "offline": {
          "offline": false,
          "reason": null,
          "until_utc": null
        },
        "recommendation": "GROK=feel cert bucket; escalate high if pad-stuck",
        "updated_utc": "2026-09-21T06:02:00Z"
      }
    ]
  }
}