{
  "id": "game-ready-systems",
  "version": "2026-10-06",
  "title": "Game-ready systems index (corrected SSOT)",
  "docsHub": "https://info.grudge-studio.com/docs#game-ready",
  "bestPractices": "/api/v1/best-practices.json",
  "updated": "2026-10-06",
  "rule": "Extend these systems only — do not invent parallel loaders, bag DBs, mixers, or sales UX on Spawn.",
  "systems": [
    {
      "id": "warlords-play-kit",
      "status": "game-ready",
      "summary": "Toon RTS {race}.glb via loadRaceKit; one mixer; Bip001 packs; bone-box feet",
      "contract": "/api/v1/grudge6-warlords-play-contract.json",
      "surfaces": "/api/v1/grudge6-warlords-play-surfaces.json",
      "loader": "https://assets.grudge-studio.com/js/grudge6-kit.js",
      "cdnKit": "https://assets.grudge-studio.com/asset-packs/toon-rts-characters/glb/characters/{race}.glb",
      "lab": "https://casting.grudge-studio.com",
      "racesHeadOk": ["human", "orc", "elf", "dwarf", "barbarian", "undead"],
      "reject": ["races bake FBX as play body", "Meshy/capsule", "multi-mixer", "pelvis-as-feet"]
    },
    {
      "id": "account-character-uuid",
      "status": "game-ready",
      "summary": "grudge_id account · characters.id UUID handoff · item grudge_uuid ledger",
      "contract": "/api/v1/account-game-uuid-contract.json",
      "uuidLaw": "/api/v1/uuid-law.json",
      "auth": "https://id.grudge-studio.com",
      "api": "https://grudge-api-production-0d46.up.railway.app",
      "handoff": "?characterId=<uuid>&era=",
      "reject": ["guest product login", "second bag DB", "GRDG-* as handoff PK"]
    },
    {
      "id": "fleet-bag-gbux-verify-send",
      "status": "game-ready",
      "summary": "Soft-ledger send to accounts.gbux_balance for verify/testing — burn later",
      "contract": "/api/v1/spawn-wallet-verify-send-contract.json",
      "matrix": "/api/v1/spawn-grudge-share-matrix.json",
      "doc": "/docs/SPAWN_WALLET_VERIFY_SEND.md",
      "route": "POST https://grudge-api-production-0d46.up.railway.app/api/wallet/verify-send-to-account",
      "onChain": false,
      "burn": false,
      "smoked": "2026-10-05 GRUDGE_MPHOJYNW853BA 0→10 idempotent replay",
      "reject": ["send-gbux on Spawn", "purchase*", "transfer-to-play as-is", "burn-before-verify"]
    },
    {
      "id": "spawn-identity-share",
      "status": "game-ready",
      "summary": "Spawn sak_ → Grudge ID bind; honest character mirror; no crypto/sales on Spawn",
      "identityContract": "/api/v1/spawn-grudge-identity-contract.json",
      "matrix": "/api/v1/spawn-grudge-share-matrix.json",
      "docs": ["/docs/SPAWN_GRUDGE_SHARE_PHASE0.md", "/docs/SPAWN_GRUDGE_SHARE_PHASE1.md"],
      "login": "POST /api/auth/spawn",
      "linkExisting": "POST /api/auth/spawn-link",
      "playerSsot": "Railway only; Spawn player.state mirror-cache"
    },
    {
      "id": "home-island",
      "status": "game-ready",
      "summary": "1024m home island seed + foundations; Railway island state",
      "contract": "/api/v1/home-island-contract.json",
      "biomes": "/api/v1/biome-ecosystems.json",
      "nature": "/api/v1/organized-nature-manifest.json",
      "mapRegistry": "/api/v1/map-registry.json"
    },
    {
      "id": "warlords-catalogs",
      "status": "game-ready",
      "summary": "Definitions on info/objectstore; play matrix + zones",
      "catalog": "/api/v1/warlords-catalog.json",
      "zones": "/api/v1/warlords-zones.json",
      "items": "/api/v1/master-items.json",
      "weapons": "/api/v1/master-weapons.json",
      "weaponSkills": "/api/v1/master-weaponSkills.json",
      "skillTrees": "/api/v1/master-skillTrees.json",
      "recipes": "/api/v1/master-recipes.json",
      "classes": "/api/v1/classes.json",
      "note": "warlords-systems-catalog.json is retired (404) — use warlords-catalog + master-* "
    },
    {
      "id": "craft-suite",
      "status": "game-ready",
      "summary": "Account bag mats · character XP; suite at warlords craft",
      "url": "https://grudgewarlords.com/craft/",
      "characterSheet": "https://info.grudge-studio.com/main-panel.html",
      "legacyRedirect": "https://grudge-crafting.puter.site/",
      "fleetJs": "https://assets.grudge-studio.com/js/grudge-fleet.js"
    },
    {
      "id": "open-library",
      "status": "game-ready",
      "summary": "Steam-like library; entry catch; not Warlords play host",
      "json": "/api/v1/open-launcher.json",
      "host": "https://open.grudge-studio.com",
      "tokenPrimary": "grudge.open.token"
    },
    {
      "id": "era-systems",
      "status": "game-ready",
      "summary": "Four eras · one Grudge ID · roster ?era=",
      "json": "/api/v1/era-systems.json",
      "eras": ["warlords", "voxel", "nexus", "armada"],
      "warlordsPlay": "https://grudgewarlords.com"
    },
    {
      "id": "scene-cdn-catalog",
      "status": "game-ready",
      "summary": "CDN-verified scene assets for Forge/fleet (SI metres)",
      "json": "/api/v1/game-ready-scene-catalog.json",
      "cdn": "https://assets.grudge-studio.com",
      "warning": "models3d-game.json github.io paths are NOT production CDN"
    },
    {
      "id": "prefab-scheme",
      "status": "game-ready",
      "summary": "Definition vs instance vs binary vs player update path",
      "json": "/api/v1/prefab-scheme.json",
      "weaponPrefabs": "/api/v1/master-weapon-prefabs.json"
    },
    {
      "id": "fleet-editors-stack",
      "status": "game-ready",
      "summary": "Forge / ThreeFlow / Foundry / Casting — three^0.185 + one Rapier + one mixer",
      "json": "/api/v1/fleet-wiring.json",
      "packagesSkill": "grudge-3d-game-packages"
    }
  ],
  "hosts": {
    "docs": "https://info.grudge-studio.com/docs",
    "definitions": "https://info.grudge-studio.com/api/v1/",
    "cdn": "https://assets.grudge-studio.com",
    "auth": "https://id.grudge-studio.com",
    "api": "https://grudge-api-production-0d46.up.railway.app",
    "warlords": "https://grudgewarlords.com",
    "foundry": "https://character.grudge-studio.com",
    "open": "https://open.grudge-studio.com",
    "wallet": "https://wallet.grudge-studio.com",
    "casting": "https://casting.grudge-studio.com",
    "forge": "https://forge.grudge-studio.com"
  }
}
