{
  "schemaVersion": "adventure-draft/v1",
  "sourceAdventureId": "orbiting-buffet-audit",
  "characters": [
    {
      "id": "inspector-zero",
      "name": "Инспектор Зеро",
      "role": "Внеземной контроль качества",
      "motivation": "Найти нарушение гравитации, даже если его нет",
      "visibility": {
        "kind": "gm"
      }
    },
    {
      "id": "chef-larisa",
      "name": "Шеф-повар Лариса",
      "role": "Возглавляет орбитальный буфет",
      "motivation": "Спасти обеденный саммит и доказать безопасность станции",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "storyFacts": [
    {
      "id": "grav-flux",
      "statement": "Внутренние датчики фиксируют аномальные колебания, но данные противоречат внешним сканам инспектора",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "absurd-complaint",
      "statement": "Анонимная жалоба требует, чтобы вся еда была одновременно жидкой и твёрдой, что физически невозможно",
      "visibility": {
        "kind": "gm"
      }
    }
  ],
  "clocks": [
    {
      "id": "dock-timer",
      "label": "Время до стыковки саммита",
      "segments": 6,
      "initialValue": 6,
      "advanceSignals": [
        "Неудачный разговор с инспектором",
        "Упущение улики",
        "Отвлечение на смежные проблемы"
      ],
      "whenFull": "Дверь буфета запирается. Саммит начинает питание без команды, аудит провален."
    }
  ],
  "scenes": [
    {
      "id": "scene-open",
      "kind": "opening",
      "title": "Встреча в шлюзе буфета",
      "summary": "Игроки встречаются с инспектором и шеф-поваром. Требуется согласовать подход к аномалиям до прибытия дипломатов.",
      "locationId": "loc-airlock",
      "participantIds": [
        "inspector-zero",
        "chef-larisa"
      ],
      "requiredFactIds": [
        "grav-flux"
      ],
      "exits": [
        {
          "id": "exit-access",
          "outcome": "success",
          "when": "Игроки устанавливают доверие и получают доступ к кухне.",
          "nextSceneId": "scene-challenge",
          "consequences": [
            "Шеф-повар отдаёт журнал датчиков.",
            "Инспектор снижает метку тревоги."
          ],
          "failForward": false
        }
      ]
    },
    {
      "id": "scene-challenge",
      "kind": "challenge",
      "title": "Разбор показаний датчиков",
      "summary": "Анализ противоречивых показаний гравитационных модулей и поиск источника жалобы. Требует социальных и технических решений.",
      "locationId": "loc-kitchen",
      "participantIds": [
        "inspector-zero",
        "chef-larisa"
      ],
      "requiredFactIds": [
        "grav-flux",
        "absurd-complaint"
      ],
      "exits": [
        {
          "id": "exit-resolve",
          "outcome": "success",
          "when": "Игроки доказывают, что жалоба требует невозможного, а колебания вызваны штатной калибровкой.",
          "nextSceneId": "scene-finale",
          "consequences": [
            "Инспектор признаёт данные журнала достаточными.",
            "Кухня получает разрешение на открытие."
          ],
          "failForward": false
        },
        {
          "id": "exit-impasse",
          "outcome": "failure",
          "when": "Инспектор отказывается подписывать акт без немедленного устранения абсурдных требований.",
          "nextSceneId": "scene-finale",
          "consequences": [
            "Придётся работать с недостающими документами.",
            "Часы ускорят процесс из-за спешки."
          ],
          "failForward": true
        }
      ]
    },
    {
      "id": "scene-finale",
      "kind": "finale",
      "title": "Финализация аудита",
      "summary": "Принятие итогового решения перед стыковкой. Игроки должны подготовить буфет к приёму гостей любым доступным способом.",
      "locationId": "loc-dining",
      "participantIds": [
        "inspector-zero",
        "chef-larisa"
      ],
      "requiredFactIds": [
        "absurd-complaint"
      ],
      "exits": [
        {
          "id": "exit-approve",
          "outcome": "success",
          "when": "Игроки представляют полный пакет документов и улаживают конфликт с инспектором.",
          "endingId": "end-success",
          "consequences": [
            "Буфет открывается вовремя.",
            "Дипломаты довольны качеством обслуживания и юмором персонала."
          ],
          "failForward": false
        },
        {
          "id": "exit-forced",
          "outcome": "failure",
          "when": "Инспектор уступает под давлением логистики или игроки используют саркастическое решение.",
          "endingId": "end-compromise",
          "consequences": [
            "Обед проходит, но с ограниченным меню.",
            "Инспектор оставляет запись о сомнительной компетентности."
          ],
          "failForward": true
        }
      ]
    }
  ],
  "endings": [
    {
      "id": "end-success",
      "label": "Аудит пройден успешно",
      "summary": "Буфет получает зелёный свет. Дипломаты получают идеальный обед, а абсурдная жалоба становится местной легендой."
    },
    {
      "id": "end-compromise",
      "label": "Рабочая компрометация",
      "summary": "Обед начинается, но инспектор вписывает замечания в отчёт. Команда выживет, сохранит работу, но получит строгую оценку за творческий подход к правилам."
    }
  ],
  "improvisation": {
    "allowed": [
      "бытовая бюрократическая сатира",
      "неловкие но добрые взаимодействия",
      "техника безопасности через комический эффект"
    ],
    "prohibitedAdditions": [
      "graphic violence",
      "sexual content",
      "borrowed IP",
      "NEVER_INCLUDE_SENTINEL_9J7K"
    ]
  }
}