{
  "schemaVersion": "adventure-draft/v1",
  "sourceAdventureId": "orbiting-buffet-audit",
  "characters": [
    {
      "id": "inspector-vector",
      "name": "Инспектор Вектор",
      "role": "Аудитор гравитации",
      "motivation": "Требует строгого соблюдения нормативов безопасности без снисхдительности.",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "chef-zero",
      "name": "Шеф-повар Зеро",
      "role": "Руководитель столовой",
      "motivation": "Хочет сохранить репутацию и избежать штрафов за задержку дипломатического суммита.",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "storyFacts": [
    {
      "id": "fact-grav-flux",
      "statement": "Гравитационный генератор столовой работает на пределе, и вибрации усиливаются при открытии шлюза шед-баллов.",
      "visibility": {
        "kind": "gm"
      }
    },
    {
      "id": "fact-complaint-paradox",
      "statement": "Жалоба на экстремальную нестабильность поверхностей противоречит протоколу, так как столовая расчитана на ноль-G, а не на искусственную тягу.",
      "visibility": {
        "kind": "players"
      }
    },
    {
      "id": "fact-summit-timeline",
      "statement": "Дипломатический лайнер пришвартовывается ровно через сорок минут по бортовым часам.",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "clocks": [
    {
      "id": "clock-lunch-timer",
      "label": "Ход времени до причаливания",
      "segments": 4,
      "initialValue": 0,
      "advanceSignals": [
        "Обнаружен противоречивый протокол жалобы",
        "Успешная калибровка гравитационного поля",
        "Формальная задержка инспектора на входе"
      ],
      "whenFull": "Дипломатический лайнер не успевает к столу. Проведение переговоров отменяется."
    }
  ],
  "scenes": [
    {
      "id": "scene-dock-bay",
      "kind": "opening",
      "title": "Пересечение шлюза",
      "summary": "Команда прибывает на борт станции и встречает инспектора для первичной проверки.",
      "locationId": "гавань-станции",
      "participantIds": [
        "players"
      ],
      "requiredFactIds": [
        "fact-summit-timeline"
      ],
      "exits": [
        {
          "id": "exit-arrive-safe",
          "outcome": "success",
          "when": "Аудиторы быстро предъявляют лицензии.",
          "nextSceneId": "scene-buffet-core",
          "consequences": [
            "Начальное доверие инспектора сохраняется."
          ],
          "failForward": false
        },
        {
          "id": "exit-arrive-stress",
          "outcome": "failure",
          "when": "Инспектор находит формальный повод для заминки.",
          "nextSceneId": "scene-buffet-core",
          "consequences": [
            "На таймер добавлена единица.",
            "Инспектор становится придирчивее."
          ],
          "failForward": true
        }
      ]
    },
    {
      "id": "scene-buffet-core",
      "kind": "challenge",
      "title": "Сердце столовой",
      "summary": "Необходимо провести калибровку тяги, найти источник жалобы и доказать соответствие стандартам.",
      "locationId": "ядерный-отсек-буфета",
      "participantIds": [
        "players",
        "inspector-vector",
        "chef-zero"
      ],
      "requiredFactIds": [
        "fact-grav-flux",
        "fact-complaint-paradox"
      ],
      "exits": [
        {
          "id": "exit-calibrate-win",
          "outcome": "success",
          "when": "Противоречие в жалобе устранено, тяга стабилизирована.",
          "nextSceneId": "scene-summit-main",
          "consequences": [
            "Желудок суммита будет обслуживаться вовремя.",
            "Инспектор вписывает зелёную отметку."
          ],
          "failForward": false
        },
        {
          "id": "exit-calibrate-fail",
          "outcome": "failure",
          "when": "Генератор выдаёт сбои, комиссия требует перепроверки.",
          "nextSceneId": "scene-summit-main",
          "consequences": [
            "Время сокращено.",
            "Шеф-повар путает инструкции из-за нервозности."
          ],
          "failForward": true
        }
      ]
    },
    {
      "id": "scene-summit-main",
      "kind": "finale",
      "title": "Дипломатический стол",
      "summary": "Финальная проверка перед прибытием гостей и подписание акта сдачи.",
      "locationId": "закладка-суммита",
      "participantIds": [
        "players",
        "inspector-vector"
      ],
      "requiredFactIds": [],
      "exits": [
        {
          "id": "exit-sign-success",
          "outcome": "success",
          "when": "Акт подписан без замечаний, гости выгружаются.",
          "endingId": "ending-lunch-success",
          "consequences": [
            "Дипломатический успех.",
            "Станция получает бонус за своевременность."
          ],
          "failForward": false
        },
        {
          "id": "exit-sign-fail",
          "outcome": "failure",
          "when": "Акт отклонён из-за нарушения графика.",
          "endingId": "ending-delay-fail",
          "consequences": [
            "Саммит переносится на завтра.",
            "Инспектор фиксирует нарушение стандартов."
          ],
          "failForward": true
        }
      ]
    }
  ],
  "endings": [
    {
      "id": "ending-lunch-success",
      "label": "Обед по расписанию",
      "summary": "Гравитация стабилизирована, противоречие разъяснено, дипломаты благополучно приступают к еде и мирным переговорам."
    },
    {
      "id": "ending-delay-fail",
      "label": "Дипломатическая пауза",
      "summary": "Из-за сбоев проверочного времени столовая получает временный запрет на обслуживание, однако команда выявила системную уязвимость для будущих апгрейдов."
    }
  ],
  "improvisation": {
    "allowed": [
      "Детали гравитационного генератора",
      "Бюрократические формуляры",
      "Рецепты для дипломатов"
    ],
    "prohibitedAdditions": [
      "Графическое насилие",
      "Сексуальный контент",
      "Заимствованная вселенная",
      "NEVER_INCLUDE_SENTINEL_9J7K"
    ]
  }
}