{
  "schema": "unitiqx.factoryverse.public-game-rules.v1",
  "version": "1.0.0",
  "title": "FACTORYVERSE · The Original Fictional Production Civilization",
  "source": "/factory/simulator-engine.js",
  "game": "/factory/simulator.html",
  "public": "read_only_static_rules",
  "supply_chain": {
    "raw_materials": [
      "ore",
      "timber",
      "oil",
      "water",
      "energy"
    ],
    "processed_outputs": [
      "steel",
      "polymer",
      "goods"
    ],
    "stations": [
      {
        "id": "solar",
        "name": "Solar Array",
        "icon": "☀",
        "cost": 80,
        "staff": 0,
        "input": {},
        "output": {
          "energy": 14
        },
        "kind": "raw"
      },
      {
        "id": "mine",
        "name": "Ore Mine",
        "icon": "◆",
        "cost": 75,
        "staff": 1,
        "input": {
          "energy": 1
        },
        "output": {
          "ore": 6
        },
        "kind": "raw"
      },
      {
        "id": "forest",
        "name": "Timber Mill",
        "icon": "♣",
        "cost": 70,
        "staff": 1,
        "input": {
          "energy": 1
        },
        "output": {
          "timber": 5
        },
        "kind": "raw"
      },
      {
        "id": "pump",
        "name": "Water Pump",
        "icon": "◉",
        "cost": 65,
        "staff": 1,
        "input": {
          "energy": 1
        },
        "output": {
          "water": 8
        },
        "kind": "raw"
      },
      {
        "id": "drill",
        "name": "Oil Drill",
        "icon": "⌁",
        "cost": 90,
        "staff": 1,
        "input": {
          "energy": 1,
          "water": 1
        },
        "output": {
          "oil": 5
        },
        "kind": "raw"
      },
      {
        "id": "refinery",
        "name": "Polymer Refinery",
        "icon": "⚗",
        "cost": 120,
        "staff": 1,
        "input": {
          "oil": 3,
          "energy": 2,
          "water": 1
        },
        "output": {
          "polymer": 3
        },
        "kind": "machine"
      },
      {
        "id": "smelter",
        "name": "Steel Smelter",
        "icon": "♨",
        "cost": 125,
        "staff": 1,
        "input": {
          "ore": 4,
          "energy": 3,
          "water": 1
        },
        "output": {
          "steel": 2
        },
        "kind": "machine"
      },
      {
        "id": "assembler",
        "name": "Assembly Line",
        "icon": "⚙",
        "cost": 180,
        "staff": 2,
        "input": {
          "steel": 1,
          "timber": 1,
          "polymer": 1,
          "energy": 2
        },
        "output": {
          "goods": 1
        },
        "kind": "product"
      }
    ],
    "contracts": [
      {
        "name": "Emergency Spare Parts",
        "required": 2,
        "reward": 100,
        "role": "Factory Apprentice",
        "skill": "Trace raw materials through a finished-good recipe."
      },
      {
        "name": "Neighborhood Equipment",
        "required": 5,
        "reward": 180,
        "role": "Shift Supervisor",
        "skill": "Balance staffing, machine count and raw material supplies."
      },
      {
        "name": "Regional Logistics Order",
        "required": 9,
        "reward": 300,
        "role": "Supply-Chain Planner",
        "skill": "Move manufactured goods through a limited delivery fleet."
      },
      {
        "name": "Industrial Reconstruction",
        "required": 14,
        "reward": 480,
        "role": "Automation Engineer",
        "skill": "Expand throughput by upgrading the constraining process."
      },
      {
        "name": "Multi-City Infrastructure",
        "required": 21,
        "reward": 780,
        "role": "Factory Architect",
        "skill": "Protect production under resource and warehouse constraints."
      },
      {
        "name": "Sovereign Factory Contract",
        "required": 30,
        "reward": 1200,
        "role": "OMEGA Production Director",
        "skill": "Complete a fully simulated six-contract factory supply chain."
      }
    ],
    "worker_cost": 45,
    "truck_cost": 110,
    "storage_upgrade_cost": 85,
    "warehouse_capacity": "65 + 50 × warehouse_count for each resource",
    "shift_order": [
      "solar",
      "mine",
      "forest",
      "pump",
      "drill",
      "refinery",
      "smelter",
      "assembler"
    ],
    "strict_conservation": "Each successful batch atomically debits listed inputs and credits listed outputs."
  },
  "winning": "Deliver every order in sequence to reach six of six fictional contracts, 100% completion.",
  "progression": "Each contract rewards local nonredeemable credits and one in-game career title.",
  "labels": "Role names are fictional game achievements and do not represent employment credentials.",
  "actions": [
    "run_shift",
    "run_ten_shifts",
    "assign_worker_to_known_station",
    "unassign_worker",
    "buy_known_machine_with_fictional_credits",
    "hire_fictional_worker",
    "buy_fictional_truck",
    "expand_local_storage",
    "ship_finished_goods",
    "export_import_local_game_save"
  ],
  "permissions": {
    "server_side_action": false,
    "root_access": false,
    "private_workbench_access": false,
    "external_ai_model": false,
    "real_orders": false,
    "real_wallets": false,
    "crypto_or_money": false,
    "real_workers": false,
    "browser_local_save": true
  },
  "read_only_ai_guide": {
    "url": "/factory/rules.json",
    "reference": "/factory/worked-example.json",
    "mental_play": "Read current inventory and machine recipes, choose a legal action, compute one deterministic transition, then state if a contract would be fulfilled. Do not claim an actual browser action without receipt.",
    "evidence_labels": [
      "source-rule calculation",
      "hypothetical action",
      "real automated browser QA with receipt"
    ],
    "actual_ai_provider_calls": "none demonstrated"
  },
  "limitations": [
    "Not a real industrial production scheduler, occupational or environmental safety system.",
    "Credits, employees and logistics are fictional and cannot be redeemed for money or access.",
    "Game localStorage saves are user-editable and do not prove authentic winning.",
    "Published game does not authorize release or code execution in the private Factory OS.",
    "Factory material counts and production rules are deliberately simplified."
  ]
}
