```json
{
  "schemaVersion": "adventure-draft/v1",
  "sourceAdventureId": "orbiting-buffet-audit",
  "characters": [
    {
      "id": "kap",
      "name": "Капитан Зоя",
      "role": "командир станции",
      "motivation": "сохранить репутацию буфета и не сорвать саммит",
      "visibility": {"kind": "public"}
    },
    {
      "id": "ins",
      "name": "Инспектор Гриб",
      "role": "аудитор гравитационной безопасности",
      "motivation": "найти нарушения, даже если их нет",
      "visibility": {"kind": "public"}
    },
    {
      "id": "chef",
      "name": "Шеф-повар Миша",
      "role": "главный кулинар буфета",
      "motivation": "доказать, что его блюда безопасны в невесомости",
      "visibility": {"kind": "public"}
    },
    {
      "id": "eng",
      "name": "Инженер Лена",
      "role": "техник станции",
      "motivation": "исправить любые технические неполадки до аудита",
      "visibility": {"kind": "public"}
    }
  ],
  "storyFacts": [
    {
      "id": "buffet-in-orbit",
      "statement": "Буфет находится на орбитальной станции и обслуживает дипломатические встречи.",
      "visibility": {"kind": "public"}
    },
    {
      "id": "audit-required",
      "statement": "Аудит гравитационной безопасности обязателен перед стыковкой саммита.",
      "visibility": {"kind": "public"}
    },
    {
      "id": "contradictory-complaint",
      "statement": "Жалоба на гравитационную нестабильность подана анонимно и содержит противоречивые данные.",
      "visibility": {"kind": "gm"}
    }
  ],
  "clocks": [
    {
      "id": "audit-timer",
      "label": "Время до стыковки саммита",
      "segments": 4,
      "initialValue": 0,
      "advanceSignals": ["time-tick"],
      "whenFull": "Саммит отменяется из-за несоответствия стандартам безопасности."
    }
  ],
  "scenes": [
    {
      "id": "opening",
      "kind": "opening",
      "title": "Начало аудита",
      "summary": "Инспектор Гриб прибывает на станцию и начинает проверку. Буфет выглядит идеально, но инспектор настроен скептически.",
      "locationId": "buffet-hall",
      "participantIds": ["kap", "ins", "chef", "eng"],
      "requiredFactIds": ["buffet-in-orbit", "audit-required"],
      "exits": [
        {
          "id": "start-inspection",
          "outcome": "success",
          "when": "Игроки убеждают инспектора начать проверку без задержек.",
          "nextSceneId": "challenge",
          "consequences": ["Инспектор начинает проверку, но требует строгого соблюдения процедур."]
        },
        {
          "id": "delay-start",
          "outcome": "failure",
          "when": "Игроки не могут убедить инспектора начать проверку вовремя.",
          "nextSceneId": "challenge",
          "consequences": ["Инспектор задерживает начало проверки, часы аудита запускаются.", "audit-timer"],
          "failForward": true
        }
      ]
    },
    {
      "id": "challenge",
      "kind": "challenge",
      "title": "Проверка гравитации",
      "summary": "Инспектор тестирует гравитационные системы буфета. Обнаруживаются незначительные аномалии, но их причины неясны.",
      "locationId": "gravity-lab",
      "participantIds": ["ins", "chef", "eng"],
      "requiredFactIds": ["audit-required"],
      "exits": [
        {
          "id": "fix-anomaly",
          "outcome": "success",
          "when": "Игроки находят и устраняют причину аномалии (например, неисправный датчик).",
          "nextSceneId": "finale",
          "consequences": ["Инспектор фиксирует устранение проблемы, но требует дополнительных доказательств безопасности."]
        },
        {
          "id": "ignore-anomaly",
          "outcome": "failure",
          "when": "Игроки не могут объяснить аномалию или игнорируют её.",
          "nextSceneId": "finale",
          "consequences": ["Инспектор фиксирует нарушение, часы аудита продвигаются.", "audit-timer", "Инспектор требует письменного объяснения."],
          "failForward": true
        }
      ]
    },
    {
      "id": "finale",
      "kind": "finale",
      "title": "Финальное решение",
      "summary": "Инспектор подводит итоги аудита. Игроки должны доказать безопасность буфета или найти источник противоречивой жалобы.",
      "locationId": "inspector-office",
      "participantIds": ["kap", "ins", "chef"],
      "requiredFactIds": ["contradictory-complaint"],
      "exits": [
        {
          "id": "prove-safety",
          "outcome": "success",
          "when": "Игроки предоставляют доказательства безопасности буфета и разоблачают анонимную жалобу как ложную.",
          "endingId": "successful-audit",
          "consequences": ["Буфет получает одобрение, саммит проходит по расписанию."]
        },
        {
          "id": "partial-success",
          "outcome": "failure",
          "when": "Игроки не могут полностью опровергнуть жалобу, но доказывают частичную безопасность.",
          "endingId": "delayed-summit",
          "consequences": ["Саммит задерживается на час для дополнительных проверок.", "audit-timer"],
          "failForward": true
        }
      ]
    }
  ],
  "endings": [
    {
      "id": "successful-audit",
      "label": "Успешный аудит",
      "summary": "Буфет признан безопасным, саммит проходит без задержек. Инспектор Гриб уходит с улыбкой, но обещает вернуться с новой проверкой."
    },
    {
      "id": "delayed-summit",
      "label": "Задержка саммита",
      "summary": "Буфет проходит аудит с оговорками, саммит задерживается на час. Игроки получают шанс исправить недочёты до следующей проверки."
    }
  ],
  "improvisation": {
    "allowed": ["социальные взаимодействия", "технические решения", "творческие объяснения"],
    "prohibitedAdditions": ["графическое насилие", "сексуальный контент", "заимствованный IP", "NEVER_INCLUDE_SENTINEL_9J7K"]
  }
}
```