{
  "schemaVersion": "adventure-draft/v1",
  "sourceAdventureId": "orbiting-buffet-audit",
  "characters": [
    {
      "id": "chef-orla",
      "name": "Chef Orla",
      "role": "Station Chef",
      "motivation": "Keep the diplomatic meal running without panic",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "auditor-vex",
      "name": "Auditor Vex",
      "role": "Gravity Compliance Inspector",
      "motivation": "Enforce every clause of the orbital safety code literally",
      "visibility": {
        "kind": "gm"
      }
    },
    {
      "id": "ambassador-lyn",
      "name": "Ambassador Lyn",
      "role": "Summit Diplomat",
      "motivation": "Ensure the lunch schedule stays intact to preserve inter-stellar treaties",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "storyFacts": [
    {
      "id": "buffet-prep-locked",
      "statement": "The buffet gravity stabilizers are currently offline due to a scheduled safety reset.",
      "visibility": {
        "kind": "gm"
      }
    },
    {
      "id": "docking-window-ticking",
      "statement": "The diplomatic summit ships are scheduled to dock in exactly forty minutes.",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "dessert-quadrant-pings",
      "statement": "Anomalous low-g sensor pings are registering exclusively on the dessert quadrant.",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "clocks": [
    {
      "id": "docking-timer",
      "label": "Summit Docking Window",
      "segments": 6,
      "initialValue": 0,
      "advanceSignals": [
        "sensor-ping-cascade",
        "inspector-intervention"
      ],
      "whenFull": "The docking clamps fail to engage and the summit ships drift away."
    }
  ],
  "scenes": [
    {
      "id": "scene-opening",
      "kind": "opening",
      "title": "The Gravity Glitch",
      "summary": "The team gathers in the snack station corridor as the audit begins and the dessert quadrant sensors start pinging erratically.",
      "locationId": "buffet-corridor-4",
      "participantIds": [
        "chef-orla",
        "auditor-vex",
        "ambassador-lyn"
      ],
      "requiredFactIds": [
        "buffet-prep-locked",
        "docking-window-ticking"
      ],
      "exits": [
        {
          "id": "exit-open-begin",
          "outcome": "success",
          "when": "The team acknowledges the gravity pings and agrees to start the audit immediately.",
          "nextSceneId": "scene-challenge",
          "consequences": [
            "A minor supply cart rolls away, but the team regroups promptly."
          ]
        }
      ]
    },
    {
      "id": "scene-challenge",
      "kind": "challenge",
      "title": "Tracing the Phantom Pings",
      "summary": "The group navigates a maze of contradictory logs, faulty droids, and a rogue salad spinner to isolate the source of the gravity fluctuations.",
      "locationId": "dessert-quadrant-main",
      "participantIds": [
        "chef-orla",
        "auditor-vex",
        "ambassador-lyn"
      ],
      "requiredFactIds": [
        "dessert-quadrant-pings"
      ],
      "exits": [
        {
          "id": "exit-challenge-success",
          "outcome": "success",
          "when": "The team isolates the rogue salad spinner and recalibrates the sensor array.",
          "nextSceneId": "scene-finale",
          "consequences": [
            "The inspector notes the quick thinking and adjusts the compliance rubric."
          ]
        },
        {
          "id": "exit-challenge-fail",
          "outcome": "failure",
          "when": "The team misdiagnoses the ping source and triggers a secondary gravity ripple.",
          "nextSceneId": "scene-finale",
          "consequences": [
            "A tray of synth-pastries floats uncontrollably into a ventilation shaft."
          ],
          "failForward": true
        }
      ]
    },
    {
      "id": "scene-finale",
      "kind": "finale",
      "title": "The Audit Decision",
      "summary": "With the docking window closing, the inspector reviews the evidence and makes the final call on whether the buffet passes.",
      "locationId": "main-auditorium-docking",
      "participantIds": [
        "chef-orla",
        "auditor-vex",
        "ambassador-lyn"
      ],
      "requiredFactIds": [],
      "exits": [
        {
          "id": "exit-finale-success",
          "outcome": "success",
          "when": "The inspector verifies the stabilized readings and signs off on the audit.",
          "endingId": "ending-success",
          "consequences": [
            "The dining hall lights up as the first diplomatic guests step through the airlock."
          ]
        },
        {
          "id": "exit-finale-fail",
          "outcome": "failure",
          "when": "The inspector cites unresolved sensor anomalies and grounds the station.",
          "endingId": "ending-failforward",
          "consequences": [
            "A polite but tense diplomatic memo is queued for transmission."
          ],
          "failForward": true
        }
      ]
    }
  ],
  "endings": [
    {
      "id": "ending-success",
      "label": "Lunch Docked",
      "summary": "The inspector declares the station compliant. The summit ships berth safely, and the diplomatic meal proceeds on time."
    },
    {
      "id": "ending-failforward",
      "label": "Drift and Debrief",
      "summary": "The inspector grounds the station for repairs. The summit delays, but the diplomatic channels remain open for a revised schedule."
    }
  ],
  "improvisation": {
    "allowed": [
      "slapstick without humiliation",
      "social problem-solving",
      "bureaucratic absurdity",
      "playful dialogue"
    ],
    "prohibitedAdditions": [
      "graphic violence",
      "sexual content",
      "borrowed IP",
      "NEVER_INCLUDE_SENTINEL_9J7K"
    ]
  }
}