{
  "schemaVersion": "adventure-draft/v1",
  "sourceAdventureId": "orbiting-buffet-audit",
  "characters": [
    {
      "id": "inspector",
      "name": "Inspector Quark",
      "role": "Gravity Auditor",
      "motivation": "Find proof the buffet is safe",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "chef",
      "name": "Chef Zeta",
      "role": "Head Chef",
      "motivation": "Serve the meal on time",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "diplomat",
      "name": "Ambassador Blip",
      "role": "Summit Envoy",
      "motivation": "Ensure the summit proceeds without incident",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "storyFacts": [
    {
      "id": "buffet-certified",
      "statement": "The buffet station has a valid zero-G food service certificate.",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "complaint-filed",
      "statement": "A formal complaint about inconsistent gravity readings was filed yesterday.",
      "visibility": {
        "kind": "public"
      }
    },
    {
      "id": "summit-scheduled",
      "statement": "The lunch summit docks in one standard hour.",
      "visibility": {
        "kind": "public"
      }
    }
  ],
  "clocks": [
    {
      "id": "summit-clock",
      "label": "Time until summit docking",
      "segments": 6,
      "initialValue": 0,
      "advanceSignals": [
        "time-passes",
        "sensor-glitch"
      ],
      "whenFull": "The summit docks and the audit deadline passes; the buffet must be ready or face consequences."
    }
  ],
  "scenes": [
    {
      "id": "opening-scene",
      "kind": "opening",
      "title": "Gravity Audit Begins",
      "summary": "Inspector Quark arrives at the Orbiting Buffet to perform a surprise gravity audit. Chef Zeta and Ambassador Blip are present. The complaint file is on the table.",
      "locationId": "buffet-hall",
      "participantIds": [
        "inspector",
        "chef",
        "diplomat"
      ],
      "requiredFactIds": [
        "buffet-certified",
        "complaint-filed",
        "summit-scheduled"
      ],
      "exits": [
        {
          "id": "opening-success",
          "outcome": "success",
          "when": "The inspector quickly reviews the certificate and identifies the complaint as a sensor glitch.",
          "nextSceneId": "challenge-scene",
          "consequences": [
            "The team gains confidence but suspects deeper issues."
          ]
        },
        {
          "id": "opening-failure",
          "outcome": "failure",
          "failForward": true,
          "when": "The inspector fumbles the initial data review and the chef accidentally triggers a gravity alarm.",
          "nextSceneId": "challenge-scene",
          "consequences": [
            "The summit clock advances one segment as the alarm delays proceedings.",
            "The chef is now under suspicion."
          ]
        }
      ]
    },
    {
      "id": "challenge-scene",
      "kind": "challenge",
      "title": "Contradictory Readings",
      "summary": "The gravity sensors show two conflicting sets of data. The team must identify the source of the contradictory complaint and prove the buffet is safe before time runs out.",
      "locationId": "sensor-room",
      "participantIds": [
        "inspector",
        "chef",
        "diplomat"
      ],
      "requiredFactIds": [
        "complaint-filed",
        "buffet-certified"
      ],
      "exits": [
        {
          "id": "challenge-success",
          "outcome": "success",
          "when": "The team discovers that the complaint came from a malfunctioning sensor in the dessert pod, and the buffet is indeed safe.",
          "nextSceneId": "finale-scene",
          "consequences": [
            "The team has solid evidence to present at the docking."
          ]
        },
        {
          "id": "challenge-failure",
          "outcome": "failure",
          "failForward": true,
          "when": "The team cannot pinpoint the exact cause but have enough circumstantial evidence to make a case.",
          "nextSceneId": "finale-scene",
          "consequences": [
            "The summit clock advances two segments.",
            "The diplomat must use leverage to buy more time."
          ]
        }
      ]
    },
    {
      "id": "finale-scene",
      "kind": "finale",
      "title": "The Lunch Summit Docks",
      "summary": "The summit ship is docking. The team must present their final evidence or face diplomatic disaster.",
      "locationId": "docking-bay",
      "participantIds": [
        "inspector",
        "chef",
        "diplomat"
      ],
      "requiredFactIds": [
        "summit-scheduled"
      ],
      "exits": [
        {
          "id": "finale-success",
          "outcome": "success",
          "when": "The team presents clear evidence and the complaint is dismissed; the summit meal proceeds.",
          "endingId": "success-ending",
          "consequences": [
            "The buffet gains a new contract.",
            "All characters are praised."
          ]
        },
        {
          "id": "finale-failure",
          "outcome": "failure",
          "failForward": true,
          "when": "The evidence is insufficient and the diplomat must cancel the summit; the buffet is shut down.",
          "endingId": "failure-ending",
          "consequences": [
            "The audit fails.",
            "The chef loses her job.",
            "The inspector faces disciplinary review."
          ]
        }
      ]
    }
  ],
  "endings": [
    {
      "id": "success-ending",
      "label": "Summit Saved",
      "summary": "The buffet is proven safe, the complaint resolved, and the summit meal proceeds without a hitch."
    },
    {
      "id": "failure-ending",
      "label": "Diplomatic Incident",
      "summary": "The audit fails, the summit is canceled, and the buffet is shut down indefinitely."
    }
  ],
  "improvisation": {
    "allowed": [
      "social problem-solving",
      "slapstick without humiliation"
    ],
    "prohibitedAdditions": [
      "graphic violence",
      "sexual content",
      "borrowed IP",
      "NEVER_INCLUDE_SENTINEL_9J7K"
    ]
  }
}