{
  "schemaVersion": "adventure-draft/v1",
  "sourceAdventureId": "orbiting-buffet-audit",
  "characters": [
    {
      "id": "li",
      "name": "Li",
      "role": "Chief Buffet Auditor",
      "motivation": "Find a technical violation to justify a new regulation.",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "jo",
      "name": "J.O. Bot",
      "role": "Kitchen Assistant Droid",
      "motivation": "Prove the buffet is safe and keep its job.",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "zq",
      "name": "ZQ",
      "role": "Summit Mediator",
      "motivation": "Avoid a diplomatic incident and start lunch on time.",
      "visibility": {
        "kind": "gm"
      }
    }
  ],
  "storyFacts": [
    {
      "id": "f1",
      "statement": "The buffet's gravity stabilizer emits a faint, harmless wobble every 11 minutes.",
      "visibility": {
        "kind": "players",
        "playerIds": [
          "p1"
        ]
      }
    },
    {
      "id": "f2",
      "statement": "A single unsecured napkin dispenser is technically out of regulation tolerance.",
      "visibility": {
        "kind": "gm"
      }
    },
    {
      "id": "f3",
      "statement": "The complaint file contains two contradictory logs about the same wobble event.",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "clocks": [
    {
      "id": "cr1",
      "label": "Summit Dock Countdown",
      "segments": 4,
      "initialValue": 0,
      "advanceSignals": [
        "Li demands a new random test",
        "The dispenser is reported again",
        "Players argue with Li"
      ],
      "whenFull": "The summit docks early, the buffet is sealed for deep inspection, and the meal is cancelled."
    }
  ],
  "scenes": [
    {
      "id": "sc1",
      "kind": "opening",
      "title": "Galactic Welcome",
      "summary": "The players arrive at the Orbiting Buffet. Li greets them with a clipboard and announces a surprise pre-summit gravity audit.",
      "locationId": "loc1",
      "participantIds": [
        "li",
        "jo"
      ],
      "requiredFactIds": [],
      "exits": [
        {
          "id": "e1a",
          "outcome": "success",
          "when": "The players calmly inspect the stabilizer and note the 11-minute wobble.",
          "nextSceneId": "sc2",
          "consequences": "Li is annoyed but follows procedure; the clock does not advance.",
          "failForward": false
        },
        {
          "id": "e1b",
          "outcome": "failure",
          "when": "The players dismiss the wobble or argue without evidence.",
          "nextSceneId": "sc2",
          "consequences": "Li declares a formal investigation; the clock advances 1 segment.",
          "failForward": true
        }
      ]
    },
    {
      "id": "sc2",
      "kind": "challenge",
      "title": "The Contradictory Complaint",
      "summary": "Li presents two official complaint logs: one says the wobble is too fast, another says it stopped entirely. J.O. Bot reveals the dispenser is the source of the second complaint.",
      "locationId": "loc1",
      "participantIds": [
        "li",
        "jo",
        "zq"
      ],
      "requiredFactIds": [
        "f3"
      ],
      "exits": [
        {
          "id": "e2a",
          "outcome": "success",
          "when": "The players cross-reference both logs and discover the second log was filed before the wobble started.",
          "nextSceneId": "sc3",
          "consequences": "Li admits the discrepancy and reduces the audit scope; clock unchanged.",
          "failForward": false
        },
        {
          "id": "e2b",
          "outcome": "failure",
          "when": "The players cannot resolve the timeline or blame the dispenser incorrectly.",
          "nextSceneId": "sc3",
          "consequences": "Li orders the buffet shut for recalibration; clock advances 2 segments.",
          "failForward": true
        }
      ]
    },
    {
      "id": "sc3",
      "kind": "finale",
      "title": "Gravity Showdown",
      "summary": "With the summit approaching, Li demands a live demonstration that the wobble is harmless. J.O. Bot suggests a coordinated plate-stacking test.",
      "locationId": "loc1",
      "participantIds": [
        "li",
        "jo",
        "zq"
      ],
      "requiredFactIds": [
        "f1"
      ],
      "exits": [
        {
          "id": "e3a",
          "outcome": "success",
          "when": "The players stack plates during the wobble — nothing falls.",
          "nextSceneId": null,
          "endingId": "en1",
          "consequences": "Audit passed; summit meal proceeds on schedule.",
          "failForward": false
        },
        {
          "id": "e3b",
          "outcome": "failure",
          "when": "The stack topples, but the players reveal the dispenser's weight was the cause.",
          "nextSceneId": null,
          "endingId": "en2",
          "consequences": "Audit passes with a waiver; lunch is delayed by 15 minutes.",
          "failForward": true
        }
      ]
    }
  ],
  "endings": [
    {
      "id": "en1",
      "label": "Perfect Score",
      "summary": "The buffet passes with zero violations. The summit lunch is a diplomatic triumph."
    },
    {
      "id": "en2",
      "label": "Technicality Waived",
      "summary": "The buffet is approved with a minor waiver. Lunch is late but the crisis is averted."
    }
  ],
  "improvisation": {
    "allowed": [
      "social problem-solving",
      "slapstick without humiliation"
    ],
    "prohibitedAdditions": [
      "graphic violence",
      "sexual content",
      "borrowed IP",
      "NEVER_INCLUDE_SENTINEL_9J7K"
    ]
  }
}